资源描述:
《中南材料院课程设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、材料科学与工程学院《MATLAB程序设计实践》实践报告材料班学号一、《MATLAB程序设计实践》Matlab基础表示多晶体材料织构的三维取向分布函数(f=f(φ1,φ,φ2))是一个非常复杂的函数,难以精确的用解析函数表达,通常采用离散空间函数值来表示取向分布函数,Data.txt是三维取向分布函数的一个实例。由于数据量非常大,不便于分析,需要借助图形来分析。请你编写一个matlab程序画出如下的几种图形来分析其取向分布特征:(1)用Slice函数给出其整体分布特征;将文件Data.txt内的数据按照要求读取到矩阵f(phi1,phi,phi2)中程序代码:fid=fo
2、pen('data.txt');fori=1:18tline=fgetl(fid);endphi1=1;phi=1;phi2=1;line=0;f=zeros(19,19,19);while~feof(fid)tline=fgetl(fid);data=str2num(tline);line=line+1;ifmod(line,20)==1phi2=(data/5)+1;phi=1;elseforphi1=1:19f(phi1,phi,phi2)=data(phi1);endphi=phi+1;endendfclose(fid);将以上代码保存为readtext.m文件
3、并在MATLAB中运行,运行结果如下图所示:将以下代码保存为code1_1.m文件:fopen('readtext.m');readtext;[x,y,z]=meshgrid(0:5:90,0:5:90,0:5:90);slice(x,y,z,f,[45,90],[45,90],[0,45])运行结果如图所示:(2)用pcolor或contour函数分别给出(φ2=0,5,10,15,20,25,30,35…90)切面上f分布情况(需要用到subplot函数);将以下代码保存为code1_2_1.m文件:fopen('readtext.m');readtext;fori
4、=1:19subplot(5,4,i)pcolor(f(:,:,i))end运行结果如图所示:将以下代码保存为code1_2_2.m文件:fopen('readtext.m');readtext;fori=1:19subplot(5,4,i)contour(f(:,:,i))end运行结果如图所示:(3)用plot函数给出沿α取向线(φ1=0~90,φ=45,φ2=0)的f分布情况。φ1=0~90,φ=45,φ2=0所对应的f(φ1,φ,φ2)即为f(:,10,1)。将以下代码保存为code1_3.m文件:fopen('readtext.m');readtext;plo
5、t([0:5:90],f(:,10,1),'-bo')text(60,6,'phi=45phi2=0')运行结果如图所示:打开窗口1figure(1);绘图slice(x,y,z,v,[4590],[4590],[045])使用fopen函数打开文件Data.txtfid=fopen(‘Data.txt’)n=fscanf(fid,'%s',[1,1])b=fscanf(fid,'%f',[19,19])将b转置赋予vv(:,:,i)=b'使用fscanf函数将文件中前40个数据以字符形式读出并赋值予aa=fscanf(fid,’%s’,[20,2])v=zeros
6、(19,19,19)i=1i<==19建立空间网格坐标矩阵[x,y,z]=meshgrid(0:5:90,0:5:90,0:5:90)建立平面网格坐标矩阵[e,f]=meshgrid(0:5:90,0:5:90)打开窗口2figure(2)i<==19确定绘图位置subplot(5,4,i)绘制等高图contour(e,f,v(:,:,i))改变纵坐标方向axisij使图像成为正方形axissquare标注text(50,7,'φ=45')text(50,8,'φ2=0')结束打开窗口3figure(3)绘图plot(0:5:90,v(10,:,1),'bo-')开始Y
7、YN二《MATLAB程序设计实践》科学计算(16)1、编程实现以下科学计算算法,并举一例应用之。(参考书籍《精通MALAB科学计算》,王正林等著,电子工业出版社,2009年)“Simpson法求数值微分”算法说明辛普森数值微分是用来求等距节点在节点处的导数的,辛普森数值微分公式如下:4114114.............1143(y2-y0)/h-f’(x0)3(y3-y1)/h3(y4-y2)/h...3(yn-yn-2)/h-f’(xn)f’(x1)f’(x2)f’(x3)...f’(x=n-1)=其中,yn=f(xn),xn=xn