数值分析课程设计

上传人:lizhe****0001 文档编号:31283440 上传时间:2018-02-06 格式:DOCX 页数:13 大小:778.28KB
返回 下载 相关 举报
数值分析课程设计_第1页
第1页 / 共13页
数值分析课程设计_第2页
第2页 / 共13页
数值分析课程设计_第3页
第3页 / 共13页
数值分析课程设计_第4页
第4页 / 共13页
数值分析课程设计_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《数值分析课程设计》由会员分享,可在线阅读,更多相关《数值分析课程设计(13页珍藏版)》请在金锄头文库上搜索。

1、数值分析课程设计第一题:1. 设计思路:我打算用选主元法,先算出每一列,然后把买一列加起来就是结果了。2.程序清单:function x=mat(a,b,flag)if narginit=a(i,:);a(i,:)=a(r,:);a(r,:)=t;enda(i+1):n,(i+1):(n+1)=a(i+1):n,(i+1):(n+1)-a(i+1):n,i)/a(i,i)*a(i,(i+1):(n+1);a(i+1):n,i)=zeros(n-i,1);if flag=0,a,endendx=zeros(n,1);x(n)=a(n,n+1)/a(n,n);for i=n-1:-1:1x(i)=

2、(a(i,n+1)-a(i,(i+1):n)*x(i+1):n)/a(i,i);end3.流程图:我的例子是九阶对角矩阵对角元素为1,2,3,4,5,6,7,8,9,。流程如图所示通过对比知道,所编的程序算的结果和 inv 的结果一致。 我的方法时间约为 0.003*9=0.027 秒,而 inv 方法时间约为 0.0031 秒,明显 inv 方法快。我第二题:1. 设计思路:我通过 limit 与求阶方法编程。2. 程序清单:function n=qiujie(x0)k=0;syms x;x1=0.99*x-x2;h=(abs(x0-x1)/(abs(x0-x)k;while limit(h

3、,x,x0)=0k=k+1;h=(abs(x0-x1)/(abs(x0-x)k;endn=kfunction y,m=bdd(x,eps)if nargin=1eps=1e-100;elseif nargin=1e-100)&(n1e100)x=x1;x1=0.99*x-x2; n=n+1;endy=x1m=n3.流程图:由所得知,所求阶数为一阶。第三题:1.设计思路:按照题意用三次样条。从题意分析可知x=4.9 与 22.9 的一阶导数均为 0 所以带入七组数据即可。2.程序清单:function s=sp(x,y,dx0,dxn)n=length(x)-1;h=diff(x);d=diff

4、(y)./h;a=h(2:n-1);b=2*(h(1:n-1)+h(2:n);c=h(2:n);u=6*diff(d);b(1)=b(1)-h(1)/2;u(1)=u(1)-3*(d(1)-dx0);b(n-1)=b(n-1)-h(n)/2;u(n-1)=u(n-1)-3*(dxn-d(n);for k=2:n-1temp=a(k-1)/b(k-1);b(k)=b(k)-temp*c(k-1); u(k)=u(k)-temp*u(k-1);endm(n)=u(n-1)/b(n-1);for k=n-2:-1:1m(k+1)=(u(k)-c(k)*m(k+2)/b(k);endm(1)=3*(d

5、(1)-dx0)/h(1)-m(2)/2;m(n+1)=3*(dxn-d(n)/h(n)-m(n)/2;for k=0:n-1s(k+1,1)=(m(k+2)-m(k+1)/(6*h(k+1);s(k+1,2)=m(k+1)/2;s(k+1,3)=d(k+1)-h(k+1)*(2*m(k+1)+m(k+2)/6;s(k+1,4)=y(k+1);end3.流程图:可知所求函数为 T=-0.008x3-0.0911x2+22.8, 4.9,9.1 T=0.0291x3-0.1919x2-1,1888x+20.6, 9.1,13.7T=-0.0157x3+0.2093x2-1,1091x+13.9,

6、 13.7,18.3T=0.0039x3-0.0071x2-1,1793x+11.7, 13.7,18.3第五题:1.设计思路:我设计了精确值与题意的要求,并根据结果进行比较,只对有相同的数值即对 1,1.1, 。 。 。 ,2 的值进行对比。2.程序清单:function x,y=eu(fname,xspan,y0,h)x=xspan(1):h:xspan(2);y(1)=y0;for n=1:length(x)-1y(n+1)=y(n)+h*feval(fname,x(n),y(n);endx=x;y=y;function x,y=eu2(fname,xspan,y0,h)x=xspan(

7、1):h:xspan(2);y(1)=y0;for n=1:length(x)-1k1=feval(fname,x(n),y(n);y(n+1)=y(n)+h*k1;k2=feval(fname,x(n+1),y(n+1);y(n+1)=y(n)+h*(k1+k2)/2;endx=x;y=y;function x,y=ku(fname,xspan,y0,h)x=xspan(1):h:xspan(2);y(1)=y0;for n=1:length(x)-1k1=feval(fname,x(n),y(n);k2=feval(fname,x(n)+h/2,y(n)+h/2*k1);k3=feval(

8、fname,x(n)+h/2,y(n)+h/2*k2);k4=feval(fname,x(n+1),y(n)+h*k3);y(n+1)=y(n)+h*(k1+2*k2+2*k3+k4)/6;endx=x;y=y;3.流程图:精确值如上图。欧拉法,h=0.025欧拉法,h=0.1改进欧拉,h=0.05改进欧拉 h=0.1龙格法, h-0.1.比较表格:X 的值 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2精确值0 0.34590.86661.60722.62043.96775.72107.963910.793614.323118.6831欧拉h=0.0250 0

9、.32550.81651.51642.47573.75395.42017.555110.252914.584717.7914欧拉 0 0.271 0.684 1.277 2.093 3.187 4.620 6.466 8.8091 11.748 15.398h=0.1 8 8 0 5 4 8 4 0 2改进欧拉h=0.050 0.34490.86431.60312.61423.95895.70927.948710.774414.299318.6542改进欧拉h=0.10 0.34240.85831.59272.59833.93645.67897.909210.724514.237418.5789龙格h=0.10 0.34590.86661.60722.62033.96765.72097.963810.793514.322918.6829由以上表格可知,在相同步长的情况龙格法比改进欧拉法精确,改进欧拉法比欧拉法精确;在相同方法情况,步长越小越精确心得体会:通过这次课程设计,我认识到了 Matlab 作为一种工具对解决数学问题的实用性与强大的可操作性。虽然在此过程中我认识到自己存在许多不足,但我相信,进过我的不懈努力与老师们的指点,我会做到最好!。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号