计算方法书中的MATLAB实例.pptx
文本预览下载声明
用Matlab实现求积分;程序运行结果: ;function x=nabisect(fname,a,b,e) %fname为内嵌函数
表达式;a,b为区间端点;e为输入定义的精度
if nargin4,e=1e-4;end; % nargin为输入变量的个数,
若未输入精度变量,则给定默认精度
fa=feval(fname,a);fb=feval(fname,b); % 计算端点的
函数值
if fa*fb0,error(函数在两端点值必须异号);end
x=(a+b)/2
while (b-a)(2*e)
fx=feval(fname,x);
if fa*fx0,b=x;fb=fx;
else a=x;fa=fx;end
x=(a+b)/2
end;程序运行结果:;用Matlab实现Newton迭代法求解 ;程序运行结果:;用Matlab实现顺序Gauss消去法;% 回代
x=zeros(n,1);
x(n)=a(n,n+1)/a(n,n);
for k=n-1:-1:1
x(k,:)=(a(k,n+1)-a(k,(k+1):n)*x((k+1):n))/a(k,k);
end
;程序运行
结果:;用Matlab实现选列主元Gauss消去法解线性方程组;if flag==0,a,end
end
%回代
x=zeros(n,1);
x(n)=a(n,n+1)/a(n,n);
for k=n-1:-1:1
x(k,:)=(a(k,n+1)-a(k,(k+1):n)*x((k+1):n))/a(k,k);
end
;程序运行
结果: ;用Matlab实现LU分解;;;求解例题得
一次插值和
二次插值
如右图所示:
;;;用Matlab实现用Euler格式解常微分方程;Euler格式
求解得:;用Matlab实现用改进Euler格式解常微分方程;用改进Euler
格式求得:
显示全部