资源简介
《数值分析》华中科技大学出版社 作者:李红
附件包含:
1.完整的程序源代码(matlab);
2.word格式的实验报告(详细的图形截图、结果分析、思考题)。
共有六个实验,两两为一组,内容如下:
实验1.1 病态问题
实验1.2 误差传播与算法稳定性
实验2.1 多项式插值的振荡现象
实验2.2 样条插值的收敛
实验3.1 多项式最小二乘拟合
实验3.2 正交化多项式的最小二乘拟合
代码片段和文件信息
function t_charpt1_2
% 数值实验1.2:误差传播与算法稳定性
% 输入:递推式选择及递推步数
% 输出:各步递推值及误差结果,以及递推值和误差与递推步数的关系图
clc
promps={‘请选择递推关系式,若选E.1.7请输入1,否则输入2:‘};
result=inputdlg(promps‘charpt 1_2‘1{‘1‘});
Nb = str2num(char(result));
if((Nb~=1)&(Nb~=2)) errordlg(‘请选择递推关系式,若选E.1.7请输入1,否则输入2!‘);return;end
result=inputdlg({‘请输入递推步数n:‘}‘charpt 1_2‘1{‘10‘});
steps=str2num(char(result));
if(steps<1)errordlg(‘递推步数错误!‘);return;end
result=zeros(1steps); err=result;
if(Nb==1)
n=1; result(n)=1/exp(1);
while(n result(n+1)=1-n*result(n);
err(n+1)=abs(result(n+1)-func(n+1));
n=n+1;
end
elseif(Nb==2)
n=steps;
err(n)=abs(result(n)-func(n));
while(n>1)
result(n-1)=(1-result(n))/n;
t=func(n-1);
err(n-1)=abs(result(n-1)-func(n-1));
n=n-1;
end
end
disp([‘递推值:‘num2str(result)]);
disp([‘误差:‘num2str(err)]);
plot([1:steps]result‘-‘);
grid on
hold on;
plot([1:steps]err‘r--‘);
xlabel(‘n‘); ylabel(‘En- and ERRn--‘);
text(2err(2)‘\uparrow err(n)‘);
text(4result(4)‘\downarrow En‘);
%--------------------------------------------------------------------------
function en=func(n)
% 计算En的精确值
if(n==1)
en=1/exp(1);
else
en=1-n*func(n-1);
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 270 2010-05-11 16:01 CH2_CarDoorDesign.m
文件 1842 2010-05-10 17:14 CH2_Interpolation.m
文件 438784 2010-05-27 17:12 数值实验题.doc
文件 2265 2010-05-11 10:06 CH3_CurveFitting.m
文件 1385 2010-05-11 14:58 CH1_ErrorSpread.m
文件 595 2010-05-11 11:32 CH1_illPosedProblem.m
----------- --------- ---------- ----- ----
445141 6
- 上一篇:EEAC法暂态分析
- 下一篇:基于MATLAB复调制ZOOM-FFT算法的分析和实现
评论
共有 条评论