- 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 特色举例考虑两个矩阵 A 和 B 的乘积问题,在 C 语言中要实现两个矩阵的乘积并不仅仅是一组双重循环的问题。双重循环当然是矩阵乘积所必需的,除此之外要考虑的问题很多。例如:A 和 B 有一个是复数矩阵怎么考虑;其中一个是复数矩阵时怎么考虑;全部是实系数矩阵时又怎么管理;这样就要在一个程序中有 4 个分支,分别考虑这 4 种情况。然后还得判断这两个矩阵是否可乘。而考虑两个矩阵是否可乘也并不仅仅是判断 A 的列数是否等于 B 的行数这么简单。其中一个若为标量,则它们可以无条件地相乘。其中有标量时又得考虑实数与复数的问题等。所以说,没有几十分钟的时间,用 C 语言并不可能编写出考虑各种情况的子程序。有了 MATLAB 这样的工具,A 和 B 矩阵的乘积用 A*B 这样简单的算式就能表示了。
〖例 1-1〗矩阵生成与运算。考虑金庸作品中经常提及的一个“数学问题”, 该问题用半数学语言描述就是:如何生成一个 3x3 矩阵, 并将自然数 1, 2, ..., 9 分别置成这 9 个矩阵元素,才能使得每一行、每一列、且主、反对角线上元素相加都等于一个相同的数。
? 这样的矩阵称为“魔方矩阵”。用 MATLAB 的 magic() 函数,我们可以由下面的命令立即生成这样的矩阵:
? ? A=magic(3)?A =??? 8?? 1?? 6??? 3?? 5?? 7??? 4?? 9?? 2
还可以由 B=magic(10) 一次生成 10x10 的魔方矩阵。如果想求出矩阵的行列式和特征值,可以分别由 det(B) 与 eig(B) 立即得出结果,而同样的工作在 C 下并不是很简单就可以得出的,算法选择不好,还可能得出错误的结果。
〖例 1-2〗考虑一个二元函数如何用三维图形的方式表现出这个曲面?
? 用 C 这类语言,绘制图形是一个难点,且从一个机器移植程序到另一个机器,大部分调试程序时间都花在这上。但使用 MATLAB 这类高级语言,完成这样的工作就是几个直观语句的事。且得出的图形美观准确、可以将语句毫不变化地移植到另外的机器上,得出完全一致的结果,如下所示。
? [x,y] = meshgrid(-3:1/8:3);??? z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2)- 10*(x/5 - x.^3 - y.^5)...????? .*exp(-x.^2-y.^2)- 1/3*exp(-(x+1).^2 - y.^2);??? surf(x,y,z), shading interp; colorbar
图!
〖例 1-3〗微分方程的数值解法是在科学与工程计算中经常遇到的问题。假设著名的 Lorenz 模型的状态方程表示为:
若令 且初值为,? 为一个小常数,假设 则我们可以由下面的几个语句就可以描述微分方程:
function xdot = lorenzeq(t,x)xdot=[-8/3*x(1)+x(2)*x(3);????? -10*x(2)+10*x(3);????? -x(1)*x(2)+28*x(2)-x(3)];
这样下面几个语句就能求解该微分方程,绘制出时间曲线与相空间曲线,如下所示。
t_final=100; x0=[0;0;1e-10];?? [t,x]=ode45(lorenzeq,[0,t_final],x0);?? plot(t,x),?? figure; plot3(x(:,1),x(:,2),x(:,3)); axis([10 40 -20 20 -20 20]);
图!
〖例 1-5 〗(注,这里的编号采用作者书中的序号) 设有解析函数,利用 MATLAB 的符号运算工具箱可以对该函数进行解析推导,得出诸如高阶导数、积分、Taylor 幂级数展开等。
syms x; f=x^2*(sin(x))^2;diff(f); f1=simple(ans)f1 =?? x-x*cos(2*x)+x^2*sin(2*x) diff(f,x,2); f2=simple(ans)f2 =?? 1-cos(2*x)+4*x*sin(2*x)+2*x^2*cos(2*x) diff(f,x,3); f3=simple(ans)f3 =?? 6*sin(2*x)+12*x*cos(2*x)-4*x^2*sin(2*x) diff(f,x,4); f4=simple(ans)f4 =?? 24*cos(2*x)-32*x*sin(2*x)-8*x^2*cos(2*x) int(f4,x)ans =? 6*sin(2*x)+12*x*cos(2*x)-4*x^2*sin(2*x) taylor(x^2*
您可能关注的文档
最近下载
- 《膝关节前后交叉韧带损伤》课件.ppt VIP
- 产钳和胎头吸引助产课件.pptx VIP
- 前交叉韧带损伤学习课件.pptx VIP
- GeForce GTX 1070Ti显卡电路图纸参考 PG411 Rev A00.pdf VIP
- 2025-2026学年小学美术五年级上册人美版·北京(主编杨力)(2024)教学设计合集.docx
- 学堂在线 生活英语进阶 章节测试答案.docx VIP
- 一汽-奔腾B50-产品使用说明书-奔腾B50 2014款1.6MT伙伴-CA7165MT4-B50伙伴用户手册.pdf VIP
- 八年级数学下册重难点压轴题突破专项(苏科版)06平行四边形(五大题型,45题)含答案与解析.pdf
- 角膜地形图与圆锥角膜.ppt VIP
- 2025四川内江市总工会招聘工会社会工作者14人笔试备考题库及答案解析.docx VIP
文档评论(0)