- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中南大学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]=newton(x,eps)
其中,x为初始迭代向量;
您可能关注的文档
最近下载
- 2023年外贸单证实务试卷题库和答案.doc VIP
- 消防安全重点单位消防档案.docx VIP
- 考前必备2025年四川省巴中市公务员省考公共基础知识测试卷(含答案.pdf VIP
- 教学课件:《思想政治学科教学新论》(第二版)刘强.ppt
- 2025云南怒江州福贡县义务教育教师专项招聘65人笔试备考试题及答案解析.docx VIP
- Unit 3 课时5 Word power(课件)-2025-2026学年八年级英语上册(译林版2024).pptx
- DB44/T 2457-2024地质灾害自动化监测规范.docx
- 流程制度文件评审制度及表单.docx VIP
- 2025年职业学院专任教师辅导员招聘考试笔试试题(含答案).docx VIP
- 基于BIM技术的铁路施工管理与协同方案研究.pptx VIP
文档评论(0)