同济大学数值分析matlab编程题汇编

同济大学数值分析matlab编程题汇编

ID:47510625

大小:83.21 KB

页数:18页

时间:2020-01-12

同济大学数值分析matlab编程题汇编_第1页
同济大学数值分析matlab编程题汇编_第2页
同济大学数值分析matlab编程题汇编_第3页
同济大学数值分析matlab编程题汇编_第4页
同济大学数值分析matlab编程题汇编_第5页
资源描述:

《同济大学数值分析matlab编程题汇编》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、..MATLAB编程题库1.下面的数据表近似地满足函数,请适当变换成为线性最小二乘问题,编程求最好的系数,并在同一个图上画出所有数据和函数图像.解:x=[-0.931-0.586-0.362-0.2130.0080.5440.6280.995]';y=[0.3560.6060.6870.8020.8230.8010.7180.625]';A=[xones(8,1)-x.^2.*y];z=Ay;a=z(1);b=z(2);c=z(3);xh=-1:0.1:1;yh=(a.*xh+b)./(1+c.*xh.^2);p

2、lot(x,y,'r+',xh,yh,'b*')word教育资料..2.若在Matlab工作目录下已经有如下两个函数文件,写一个割线法程序,求出这两个函数精度为的近似根,并写出调用方式:文件一文件二functionv=f(x)v=x.*log(x)-1;functionz=g(y)z=y.^5+y-1;解:>>editgexianfa.mfunction[xiter]=gexianfa(f,x0,x1,tol)iter=0;while(norm(x1-x0)>tol)iter=iter+1;x=x1-feval(f

3、,x1).*(x1-x0)./(feval(f,x1)-feval(f,x0));x0=x1;x1=x;end>>editf.mfunctionv=f(x)v=x.*log(x)-1;>>editg.mfunctionz=g(y)z=y.^5+y-1;>>[x1iter1]=gexianfa('f',1,3,1e-10)x1=1.7632iter1=6>>[x2iter2]=gexianfa('g',0,1,1e-10)x2=0.7549iter2=8word教育资料..3.使用GS迭代求解下述线性代数方程组:解:

4、>>editgsdiedai.mfunction[xiter]=gsdiedai(A,x0,b,tol)D=diag(diag(A));L=D-tril(A);U=D-triu(A);iter=0;x=x0;while((norm(b-A*x)./norm(b))>tol)iter=iter+1;x0=x;x=(D-L)(U*x0+b);end>>A=[521;-142;1-310];>>b=[-12103]';>>tol=1e-4;>>x0=[000]';>>[xiter]=gsdiedai(A,x0,b,to

5、l);>>xx=-3.09101.23720.9802>>iteriter=6word教育资料..4.用四阶Range-kutta方法求解下述常微分方程初值问题(取步长h=0.01)解:>>editksf2.mfunctionv=ksf2(x,y)v=y+exp(x)+x.*y;>>a=1;b=2;h=0.01;>>n=(b-a)./h;>>x=[1:0.01:2];>>y(1)=2;>>fori=2:(n+1)k1=h*ksf2(x(i-1),y(i-1));k2=h*ksf2(x(i-1)+0.5*h,y(i-

6、1)+0.5*k1);k3=h*ksf2(x(i-1)+0.5*h,y(i-1)+0.5*k2);k4=h*ksf2(x(i-1)+h,y(i-1)+k3);y(i)=y(i-1)+(k1+2*k2+2*k3+k4)./6;end>>y调用函数方法>>editRangekutta.mfunction[xy]=Rangekutta(f,a,b,h,y0)x=[a:h:b];n=(b-a)/h;y(1)=y0;fori=2:(n+1)k1=h*(feval(f,x(i-1),y(i-1)));k2=h*(feval(f

7、,x(i-1)+0.5*h,y(i-1)+0.5*k1));k3=h*(feval(f,x(i-1)+0.5*h,y(i-1)+0.5*k2));k4=h*(feval(f,x(i-1)+h,y(i-1)+k3));y(i)=y(i-1)+(k1+2*k2+2*k3+k4)./6;end>>[xy]=Rangekutta('ksf2',1,2,0.01,2);>>yword教育资料..5.取,请编写Matlab程序,分别用欧拉方法、改进欧拉方法在上求解初值问题。解:>>editEuler.mfunction[xy]

8、=Euler(f,a,b,h,y0)x=[a:h:b];n=(b-a)./h;y(1)=y0;fori=2:(n+1)y(i)=y(i-1)+h*feval(f,x(i-1),y(i-1));end>>editgaijinEuler.mfunction[xy]=gaijinEuler(f,a,b,h,y0)x=[a:h:b];n=(b-a)./h;y(1)=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。