- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB的应用与发展
简介
MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
基本功能
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathmatica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连
接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
在命令窗口键入
format compact
x1=sqrt(5),x2=1.37,y=3/x2
基本语法
MATLAB中的变量或常量都代表矩阵,标量应看做1*1元的矩阵。赋值语句的一般形式为
变量=表达式(或数)
例如:输入语句
a=[1 2 3;4 5 6;7 8 9]
a =
1 2 3
4 5 6
7 8 9
x=[-1.3 sqrt(3) (1+2+3)/5*4]
x =
-1.3000 1.7321 4.8000
可以看出,矩阵的值放在方括号中,同一行中各元素之间以逗号或空格分开,不同的行则以分号隔开,语句的结尾可用“ENTER”或逗号,此时会立即显示运算结果。如果不希望显示结果,就以分号结尾,此时运算仍然执行,只是不作显示。
变量的元素用圆括号中的数字(也称为下标)来注明,一维矩阵(也称数组或向量)中的元素用一个下标表示;两维的矩阵可有两个下标数,以逗号分开;三维或更高维的矩阵,可有三个或者更多下标。用户可以单独给元素赋值,如x(2)=1.7321,a(2,3)=6等。如果赋值元素的下标超出了原来矩阵的大小,矩阵的行列会自动扩展。
x(5)=abs(x(1))
x =
-1.3000 1.7321 4.8000 0 1.3000
a(4,3)=6.5
a =
1.0000 2.0000 3.0000
4.0000 5.0000 6.0000
7.0000 8.0000 9.0000
0 0 6.5000
可见,跳空的元素x(4),a(4,1),a(4,2)被自动地赋值0。这种自动扩展维数的功能只适用于赋值语句。在其他语句中若出现超维调用的情况,MATLAB将会给出出错提示。
绘图分析
x=-8:0.5:8;y=x;
X=ones(size(y))*x;Y=y*ones(size(x));
R=sqrt(X.*Y+Y.*Y);z=sin(R)./R;
mesh(z),pause
mesh函数可以把一个大矩阵形象化地表示出来。例如,函数sinc(r)=sin(r)/r的立体图形是很生动的。
第一行命令定义了函数计算x、y的取值范围,每一个方向有33个样本点,第二行命令建立了共有33*33=1089个网格点的坐标矩阵X和Y,形成了33*33网格的矩阵网格,第三行成语表示数据点到原点的距离,并求得sinc函数值,最后用mesh函数绘出图形。
实际上这发生在R=0处,该处sin(R)也为零,所以各道NaN。产生的三维曲线在R=0处缺掉一个点,因为NaN是无法画出的。把原来的R值移动一个极小的数值eps,运行就没有问题了,而图上不再有缺掉的点了。
文档评论(0)