数值分析上机作业1-1
更新时间:2023-03-17 03:50:01 阅读量: 教育文库 文档下载
- 数值计算方法上机程序推荐度:
- 相关推荐
数值计算方法上机题目1
1、实验1. 病态问题
实验目的:
算法有“优”与“劣”之分,问题也有“好”和“坏”之别。所谓坏问题就是问题本身的解对数据变化的比较敏感,反之属于好问题。希望读者通过本实验对此有一个初步的体会。
数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。
问题提出:
考虑一个高次的代数多项式
p(x)?(x?1)(x?2)...(x?20)? ?(x?k) (E1-1)
k?120显然该多项式的全部根为l,2,…,20,共计20个,且每个根都是单重的(也称为简
单的)。现考虑该多项式方程的一个扰动
p(x)??x19?0 (E1-2)
19其中?是一个非常小的数。这相当于是对(E1-1)中x的系数作一个小的扰动。我们希望比较(E1-1)和(E1-2)根的差别,从而分析方程(E1-1)的解对扰动的敏感性。
实验内容:
为了实现方便,我们先介绍两个 Matlab函数:“roots”和“poly”,输入函数
u=roots(a)
其中若变量a存储n?1维的向量,则该函数的输出u为一个n维的向量。设a的元素依次为a1,a2,...,an?1,则输出u的各分量是多项式方程
a1xn?a2xn?1?...anx?an?1?0
的全部根,而函数
b=poly(v)
的输出b是一个n+1维变量,它是以n维变量v的各分量为根的多项式的系数。可见“roots”和“Poly”是两个互逆的运算函数.
ve=zeros(1,21); ve(2)=ess;
roots(poly(1:20))+ve)
上述简单的Matlab程序便得到(E1-2)的全部根,程序中的“ess”即是(E1-2)中的?。 实验要求:
(1)选择充分小的ess,反复进行上述实验,记录结果的变化并分析它们。如果扰动项的系数?很小,我们自然感觉(E1-1)和(E1-2)的解应当相差很小。计算中你有什么出乎意料的发现?表明有些解关于如此的扰动敏感性如何?
(2)将方程(E1-2)中的扰动项改成?x或其他形式,实验中又有怎样的现象出现?
18 1
实验步骤: (1)程序
function t_charpt1_1 clc
result=inputdlg({'请输入扰动项:在[0 20]之间的整数:'},'charpt 1_1',1,{'19'});
Numb=str2num(char(result));
if((Numb>20)|(Numb<0))errordlg('请输入正确的扰动项:[0 20]之间的整数!');return;end
result=inputdlg({'请输入(0 1)之间的扰动常数:'},'charpt 1_1',1,{'0.00001'}); ess=str2num(char(result)); ve=zeros(1,21); ve(21-Numb)=ess;
root=roots(poly(1:20)+ve); x0=real(root); y0=imag(root); plot(x0',y0', '*');
disp(['对扰动项 ',num2str(Numb),'加扰动',num2str(ess),'得到的全部根为:']);
disp(num2str(root));
二、实验结果分析
ess分别为1e-6,1e-8.1e-10,1e-12.
对扰动项 19加扰动1e-006得到的全部根为:
21.3025+1.56717i 21.3025-1.56717i 18.5028+3.6004i 18.5028-3.6004i 15.1651+3.76125i 15.1651-3.76125i 12.4866+2.88278i 12.4866-2.88278i
10.5225+1.71959i 10.5225-1.71959i 9.04485+0.594589i 9.04485-0.594589i 7.9489+0i 7.00247+0i 5.99995+0i 5+0i 4+0i 3+0i 2+0i 1+0i 对扰动项 19加扰动1e-010得到的全部根为:
19.9953+0i 19.0323+0i 17.8696+0i 17.2186+0i
15.4988+0.0211828i 15.4988-0.0211828i 13.7707+0i 13.1598+0i
11.9343+0i 11.029+0i 9.99073+0i 9.00247+0i 7.99952+0i 7.00007+0i 5.99999+0i 5+0i 4+0i 3+0i 2+0i 1+0i ess分别为1e-6,1e-8.1e-10,1e-12的图像如下:
2
从实验的图形中可以看出,当ess充分小时,方程E.1.1和方程E.1.2的解相差很小,当ess逐渐增大时,方程的解就出现了病态解,这些解都呈现复共轭性质。
(2) 将扰动项加到x18上后,ess=1e-009时方程的解都比较准确,没有出现复共轭现象。ess=1e-008时误差与x19(ess=1e-009)时相当,即扰动加到x18上比加到x19小一个数量级。对x8的扰动ess=1000时没有出现复共轭,误差很小;对x的扰动ess=10e10时没有出现复共轭,误差很小。因此,扰动作用到xn上时,n越小,扰动引起的误差越小。
2、实验2。多项式插值的振荡现象,即插值的龙格(Runge)现象
问题提出:
考虑在一个固定的区间上用插值逼近一个函数。显然,拉格朗日插值中使用的节点越多,插值多项式的次数就越高、自然关心插值多项式的次数增加时,Ln(x)是否也更加靠近被逼近的函数。龙格给出的一个例子是极著名并富有启发性的。设区间[?1,1]上函数
f(x)?实验内容:
考虑区间[?1,1]的一个等距划分,分点为
1 21?25xxi??1?则拉格朗日插值多项式为
2i,i?0,1,2,...,n nnLn(x)??1l(x) 2ii?01?25xi其中的li(x),i?0,1,2,...,n是n次拉格朗日插值基函数。 实验要求:
(l)选择不断增大的分点数目n?2,3,...,画出原函数f(x)及插值多项式函数Ln(x)在
[?1,1]上的图像,比较并分析实验结果。
(2)选择其他的函数,例如定义在区间[-5,5]上的函数
3
h(x)?重复上述的实验看其结果如何。
x,g(x)?arctanx 1?x4(3)区间[a,b]上切比雪夫点的定义为
xk??(2k?1)??b?ab?a?cos??(2(n?1)??,k?1,2,...,n?1 22??以x1,x2,...,xn?1为插值节点构造上述各函数的拉格朗日插值多项式,比较其结果。 实验步骤:
(1) 试验程序:
function y=Lagrange(x0, y0, x); % Lagrange插值
n= length(x0); m=length(x); for i=1:m z=x(i); s=0.0; for k=1:n p=1.0; for j=1:n if(j ~= k)
p = p*(z - x0(j))/(x0(k) - x0(j)); end end
s = s + p*y0(k); end y(i) = s; end
function t_charpt2
promps = {'请选择实验函数,若选f(x),请输入f,若选h(x),请输入h,若选g(x),请输入g:'};
titles = 'charpt_2';
result = inputdlg(promps,'charpt 2',1,{'f'}); Nb_f = char(result);
if(Nb_f ~= 'f' & Nb_f ~= 'h' & Nb_f ~= 'g')errordlg('实验函数选择错误!');return;end
result = inputdlg({'请输入插值结点数N:'},'charpt_2',1,{'10'}); Nd = str2num(char(result));
if(Nd <1)errordlg('结点输入错误!');return;end
switch Nb_f
4
case 'f'
f=inline('1./(1+25*x.^2)'); a = -1;b = 1; case 'h'
f=inline('x./(1+x.^4)'); a = -5; b = 5; case 'g'
f=inline('atan(x)'); a = -5; b= 5; end
x0 = linspace(a, b, Nd+1); y0 = feval(f, x0); x = a:0.1:b; y = Lagrange(x0, y0, x); fplot(f, [a b], 'co'); hold on;
plot(x, y, 'b--');
xlabel('x'); ylabel('y = f(x) o and y = Ln(x)--');
增大分点n=2,3,…时,拉格朗日插值函数曲线如图所示。
n=3 n=6
n=7 n=8
从图中可以看出,随着n的增大,拉格朗日插值函数在x=0附近较好地逼近了原来的函数f(x),但是却在两端x= -1和x=1处出现了很大的振荡现象。通过分析图形,可以看出,当n为奇数时,虽然有振荡,但振荡的幅度不算太大,n为偶数时,其振荡幅度变得很大。
(2) 将原来的f(x)换为其他函数如h(x)、g(x),结果如图所示。其中h(x), g(x)均定义在[-5,5]区间上,h(x)=x/(1+x4),g(x)=arctan x。
5
正在阅读:
数值分析上机作业1-103-17
举头望明月,低头思故乡作文600字02-05
这件事令我感动作文400字4篇04-19
感恩活动的心得体会【最新8篇】03-27
天气突变的遐想作文350字07-07
遵纪守法从我做起主题班会01-26
漯河市住房公积金贷款须知及办理流程图02-21
一块石头的命运作文600字06-26
2011太阳能电池银浆报告电子版04-24
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 上机
- 数值
- 作业
- 分析
- 2017国家公务员考试申论热点:逃离“北上广”
- 安徽天柱山科技园工程部工程管理奖、惩制度
- 外贸单证实验报告 - 图文
- 最新版人教版高中语文必修2: 文言文阅读新题型专项训练 高中含解析
- 渠道管理控制制度
- 阀门培训大纲 - 图文
- 展示设计中的色彩应用
- 北京四中数学七年级上《图形认识初步》全章复习与巩固(基础)知识讲解(含答案)
- 连续梁支架施工方案
- 《腊八粥》教学设计
- 计算机文化基础试题第七章 计算机网络基础
- 小班美术活动 - 好看的饼干
- 2018年秋九年级数学上册 第4章 相似三角形 4.3 相似三角形练习(新版)浙教版
- 人教版2014-2015五年级语文试卷(含答案)
- (全科医生)岗位练兵和技能竞赛全科医生题库(2016)
- 执业兽医师生物化学模拟练习题
- 初级经济法第一二章练习题
- 广西北海港船舶靠泊、停泊、离泊及移泊规则
- 上海市医疗机构可另收费的一次性使用医疗器械目录
- 48+80+48m连续梁合拢段及体系转换施工技术方案