资源描述:
《中南大学MATLAB课程设计第11题(优秀).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、中南大学MATLAB程序设计实践班级:材料1207学号:姓名:王宇佳时间:2014-6-26基础题(1)用Slice函数给出其整体分布特征;A.流程图:通过循环形成三维矩阵从Data.txt中读取数据结束开始通过meshgrid函数生成绘制3-D图形所需的网格数据用通过Slice函数给出其整体分布特征B.代码:fid=fopen('Data.txt');head=fscanf(fid,'%s',40);fori=1:19ch=fscanf(fid,'%f',1);d=fscanf(fid,'%f',[1
2、9,19]);data(:,:,i)=d';end[phi1,phi,phi2]=meshgrid(0:5:90,0:5:90,0:5:90);slice(phi1,phi,phi2,data,[45,90],[45,90],[0,45])C.结果:(2)用pcolor或contour函数分别给出(φ2=0,5,10,15,20,25,30,35…90)切面上f分布情况(需要用到subplot函数);A.流程图:通过meshgrid函数绘制二维网格从Data.txt中读取数据结束开始通过subplot函
3、数生成19个切面用通过contour函数给出各个切面上f分布情况B.代码:fid=fopen('Data.txt');head=fscanf(fid,'%s',40);[phi1,phi]=meshgrid(0:5:90,0:5:90);fori=1:19ch=fscanf(fid,'%f',1);da=fscanf(fid,'%f',[19,19]);subplot(5,4,i)contour(phi1,phi,da')endC.结果:(3)用plot函数给出沿α取向线(φ1=0~90,φ=45,φ2
4、=0)的f分布情况。A.流程图:生成三维矩阵从Data.txt中读取数据结束开始plot函数给出沿α取向线(φ1=0~90,φ=45,φ2=0)的f分布情况。B.代码:fid=fopen('Data.txt');head=fscanf(fid,'%s',40);fori=1:19d=fscanf(fid,'%f',[19,19]);data(:,:,i)=d';endb=data(10,:,1)a=0:5:90;plot(a,b,'-o')C.结果:科学计算部分一、编程实现以下科学计算算法,并举一例应用
5、之。“矩形法、梯形法数值积分”1.矩形法数值积分A.算法说明:矩形法是一种计算定积分近似值的方法,其思想是求若干个矩形的面积之和,这些矩形的高由函数值来决定。将积分区间[a,b]划分为n个长度相等的子区间,每个子区间的长度为(a-b)/n。这些矩形左上角、右上角或顶边中点在被积函数上。这样,这些矩形的面积之和就约等于定积分的近似值。由函数上的点为矩形的左上角、右上角或顶边中点来决定,又分别被称为下(左)矩形公式、上(右)矩形公式和中矩形公式。当n逐渐扩大时,此近似值更加准确。上述的点无论取哪个值,最终和
6、式的值都将趋近于定积分的值。开始abs(I2–I1)>epsn=n+1;h=(b-a)/n;I1=I2;I2=0;fori=0:n-1x=a+h*i;x1=x+h;I2=I2+h*subs(sym(f),findsym(sym(f)),x1);I=I2;Step=n;结束否否n=1;h=b-a此时划分为1个子区间I1=0;I2=(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))/h;是是B.流程图:C.代码function[I,
7、step]=CombineTraprl(f,a,b,eps)%复合矩形公式求函数f在区间[a,b]上的定积分%函数名:f%积分下限:a%积分上限:b%积分精度:eps%积分值:I%积分划分的子区间个数:stepif(nargin==3)%如果参数个数为3eps=1.0e-4;%默认精度为0.0001endn=1;h=b-a;I1=0;I2=(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))/h;whileabs(I2-I1)>e
8、psn=n+1h=(b-a)/n;I1=I2;I2=0;fori=0:n-1%第年n次的复合矩形公式积分x=a+h*i;%i=0和n-1时,分别代表积分区间的左右端点x1=x+hI2=I2+h*subs(sym(f),findsym(sym(f)),x1);endendI=I2;step=n;D.应用举列:复合矩形法求数值积分应用举例,利用复合矩形法计算定积分a.程序代码:[q,s]=CombineTraprl('x^2',1,2)%精度为