matlab实验报告总结1.求一份matlab的试验报告计算方法试验报告3【实验目的】检查各种数值计算方法的长期行为【内容】给定方程组x'(t)=ay(t),y'(t)=bx(t),x(0)=0,y(0)=b的解是x-y平面上的一个椭圆,利用你已经知道的算法,取足够小的步长,计算上述方程的轨道,看看那种算法能够保持椭圆轨道不变。(计算的时间步长要足够多)【实验设计】用一下四种方法来计算:1.Euler法2.梯形法3.4阶RK法4.多步法Adams公式【实验过程】1.Euler法具体的代码如下:clear;a=2;b=1;A=[0a;-b0];U=[];u(:,1)=[0;b];n=1000000;h=6*pi/n;fori=1:ndelta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;u(:,i+1)=u(:,i)+h*A*u(:,i);endt=1:n+1;subplot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);plot(u(1,:),u(2,:));gridon;max(abs(delta-ones(1,length(delta))));结果如下:2.梯形法具体的代码如下:clear;a=2;b=1;A=[0a;-b0];U=[];u(:,1)=[0;b];n=300;h=6*pi/n;fori=1:ndelta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;v1=u(:,i)+h*A*u(:,i);v2=u(:,i)+h*A*(u(:,i)+v1)/2;Word文档1u(:,i+1)=u(:,i)+h*A*(u(:,i)+v2)/2;endt=1:n+1;subplot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下3.4阶RK法clear;a=2;b=1;A=[0a;-bi=1:nu(:;2)=u(u,1)+h*A*u(:,1);u(:;3)=u(u,2)+h/2*A*(3*u(:,2)-u(:,1));u(:;4)=u(u,3)+h/12*A*(23*u(:,3)-16*u(:,2)+5*u(:,1));delta(1)=((u(1,1)/a)^2+(u(2,1)/b^2)^0.50];U=[];u(:,1)=[0;b];n=70;h=6*pi/n;fordelta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;k1=A*u(:,i);k3=A*(u(:,i)+h*k3);delta(2)=((u(1,2)/a)^2+(u(2,2)/b^2)^0.5delta(3)=((u(1,3)/a)^2+(u(2,3)/b^2)^0.5fori=4:ndelta(i)=((u(1,i)/a)^2+(u(2,i)/b)^2)^0.5;u(:,i+1)=u(:,i)+h/24*A*(55*u(:,i)-59*u(:,i-1)+37*u(:,i-1)+37*u(:,i-2)-9*u(:,i-3));endt=1:n+1;subplot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下:【实验分析】通过这几种方法对比,发现最为稳定的是多步法Adams公式和4阶RK法,其次是梯形法,而欧拉法最为不稳定。k2=A*(u(:,i)+h/2*k2);k4=A*(u(:,i)+h*k3);u(:,i+1)=u(:,i)+h/6*(k1+2*k2+2*k3+k4);endt=1:n+1;subplot(1,2,1);plot(1:n,delta);gridon;subplot(1,2,2);结果如下:4.多步法Adams公式clear;a=2;b=1;A=[0a;-b0];U=[];u(:,1)=[0;b];n=200;h=6*pi/n;Word文档22.matlab心得体会这是我在学习的过程中的一些技巧,或许对你有帮助,可能字数不你能满足你的要求,但是绝对是精华。1,如果你要是不是计算机转业的,只是为了方便自己的工作或学习,那么你没有必要把matlab教程全部学会,只需要学你需要的那部分即可,比如,绘图,矩阵运算,等等,根据你个人的需要而定,但是基本命令、数据类型、基本的程序结构(条件语句,循环语句,嵌套)、文件的IO是必须看的,因为任何一个程序都需要这几个基本的块。2,你最好找一个熟悉编程的人来辅助你的学习,这就包括很多编程的技巧问题,程序的结构设计问题,对于程序的运行效率非常有帮助。有的时候,你编出来的程序,能够运行,但是耗时太长,也就是说你的程序没有错,但是不适合实际。或者说,对于规模小的问题能够解决,但是规模大一点的问题就需要很长很长的时间,这就需要对程序的结构和算法问题进行改进(亲身体会,编完一个程序,小的例子可以运行出结果,但是大例子需要很长时间,所以必须要改进一下)。3,你需要找一本matlab的函数工具词典,就像汉语词典一样,你要尽量多的熟悉matlab自带的函数,及其作用,因为matlab的自带函数特别多,基本上能够满足一般的数据和矩阵的计算,所以基本上不用你自己编函数(如vb中,大部分的函数都需要自己编)。这一点对你的程序非常有帮助,可以使你的程序简单,运行效率高,可以节省很多时间(亲身体会)。切记!!!Word文档34,你把基本的知识看过之后,就需要找一个实际的程序来动手编一下,不要等所有的知识都学好之后再去编程,你要在编程的过程中学习,程序需要什么知识再去补充(这一条是别人教我的,很管用),编程是一点一点积累的,所以你要需做一些随手笔记什么的。5,编程...