中南大学MATLAB课程实践.docx
上传人:王子****青蛙 上传时间:2024-09-13 格式:DOCX 页数:13 大小:1.3MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

中南大学MATLAB课程实践.docx

中南大学MATLAB课程实践.docx

预览

免费试读已结束,剩余 3 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

MATLAB课程设计实践目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc450951050"公共题PAGEREF_Toc450951050\h-1-HYPERLINK\l"_Toc450951055"第一题PAGEREF_Toc450951055\h-6-HYPERLINK\l"_Toc450951057"方程组PAGEREF_Toc450951057\h-6-HYPERLINK\l"_Toc450951062"解非线性方程组PAGEREF_Toc450951062\h-9-HYPERLINK\l"_Toc450951067"第二题PAGEREF_Toc450951067\h-14-HYPERLINK\l"_Toc450951068"PAGEREF_Toc450951068\h-14-HYPERLINK\l"_Toc450951073"PAGEREF_Toc450951073\h-18-HYPERLINK\l"_Toc450951077"PAGEREF_Toc450951077\h-22-公共题题目表示多晶体材料织构的三维取向分布函数(f=f(φ1,φ,φ2))是一个非常复杂的函数,难以精确的用解析函数表达,通常采用离散空间函数值来表示取向分布函数,Data.txt是三维取向分布函数的一个实例。由于数据量非常大,不便于分析,需要借助图形来分析。请你编写一个matlab程序画出如下的几种图形来分析其取向分布特征:(1)用Slice函数给出其整体分布特征;(2)用pcolor或contour函数分别给出(φ2=0,5,10,15,20,25,30,35…90)切面上f分布情况(需要用到subplot函数);(3)用plot函数给出沿α取向线(φ1=0~90,φ=45,φ2=0)的f分布情况。程序流程图程序代码common.m%课程实践公共题目file=fopen('data.txt','r');%No_use存储没有用的数据fori=1:18No_use=fgetl(file);end%读入数据fori=1:19%phi2No_use=fscanf(file,'%f',1);forj=1:19%phi1fork=1:19%phif(j,k,i)=fscanf(file,'%f',1);endendend%slice给出分布特征figure(1);[x,y,z]=meshgrid(0:5:90,0:5:90,0:5:90);slice(x,y,z,f,[45,90],[45,90],[0,45]);%pcolor给出切面f情况figure(2);fori=1:19subplot(5,4,i);[X,Y]=meshgrid(0:5:90);contour(X,Y,f(:,:,i));axisij;end%沿alpha取向线分布情况figure(3);plot([0:5:90],f(10,:,1),'-bo');text(60,6,'\phi=45');text(60,5.5,'\phi2=0');运行结果第一题题目编程实现以下科学计算算法,并举一例应用之。(参考书籍《精通MALAB科学计算》,王正林等著,电子工业出版社,2009年)“不动点迭代法和牛顿法非线性方程组求解”1.1不动点迭代法解非线性方程组算法说明设含有n个未知数与n个方程的非线性方程组记为:F(x)=0,然后把上述方程组改为便于迭代的等价形式:x=φ(x),由此就可以构造不动点迭代法的迭代公式:这样就可以求出非线性方程组的解。调用格式:[x1,n]=StablePoint(x,eps)。其中,x为初始迭代向量;eps为迭代精度;x1为求出的解向量;n为迭代步数。程序流程图程序代码function[x1,n]=StablePoint(x,eps)%不动点迭代法求非线性方程组的根%x为初值;eps为精度,x1为方程的根,n为迭代次数if(nargin==1)eps=1.0e-4;endx1=g(x);%g(x)为非线性方程组n=1;tol=1;while(tol>eps)x=x1;x1=g(x);%迭代tol=norm(x1-x);n=n+1;ifn>1000%迭代次数过多disp('迭代次数超过1000,可能不收敛');return;endend举例说明首先建立g.m函数文件:functiony=g(x)%输入方程组y(1)=0.7*sin(x(1))+0.2*cos