中南大学MATLAB课程实践概要.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中南大学MATLAB课程实践概要

中南大学 MATLAB课程设计实践 目录 公共题 - 1 - 第一题 - 6 - 1.1不动点迭代法解非线性方程组 - 6 - 1.2牛顿法解非线性方程组 - 9 - 第二题 - 14 - 2.1题目 - 14 - 2.2题目 - 18 - 2.3题目 - 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存储没有用的数据 for i=1:18 No_use=fgetl(file); end %读入数据 for i=1:19 %phi2 No_use=fscanf(file,%f,1); for j=1:19%phi1 for k=1:19%phi f(j,k,i)=fscanf(file,%f,1); end end end % 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); for i=1:19 subplot(5,4,i); [X,Y]=meshgrid(0:5:90); contour(X,Y,f(:,:,i)); axis ij; 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不动点迭代法解非线性方程组1,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; end x1=g(x);%g(x)为非线性方程组 n=1; tol=1; while(toleps) x=x1; x1=g(x);%迭代 tol=norm(x1-x); n=n+1; if n1000 %迭代次数过多 disp(迭代次数超过1000,可能不收敛); return; end end 举例说明 首先建立g.m函数文件: function y=g(x) %输入方程组 y(1)=0.7*sin(x(1))+0.2*cos(x(2)); y(2)=0.7*cos(x(1))-0.2*sin(x(2)); end 在MATLAB命令窗口中运行: 即求得非线性方程组y(1),y(2)的一组解[0.5264 0.5080],共迭代了12次,精度为1.0e-4。 1.2牛顿法解非线性方程组 算法说明 牛顿迭代法的迭代公式为:错误!未找到引用源。 求解步骤为: (1)给出初始值错误!未找到引用源。; (2)对n=1,2,3…计算F(xn)和F’(xn); (3)求出xn+1,并进行精度控制。 更一般的牛顿法迭代公式为:错误!未找到引用源。,当错误!未找到引用源。 = F’(x0)时,就得到简化牛顿法。 在MATLAB中编程实现的非线性方程组的牛顿迭代法的函数为:newton。 调用格式:[x1,n,eps]=ne

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档