第2周 Maltab的基本语法.ppt

上传人:s****8 文档编号:68704004 上传时间:2022-12-29 格式:PPT 页数:41 大小:1.78MB
返回 下载 相关 举报
第2周 Maltab的基本语法.ppt_第1页
第1页 / 共41页
第2周 Maltab的基本语法.ppt_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《第2周 Maltab的基本语法.ppt》由会员分享,可在线阅读,更多相关《第2周 Maltab的基本语法.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第2周 Maltab的基本语法河西学院物电系2010/01/172.1 变量及其赋值n一、标识符与数n标识符只允许使用字母、阿拉伯数字和下划线,禁止实用其他特殊符号,如:!#¥%&*()-=+|:;”,./?.nMatlab对区分大小写,A和a是两个不同的标识符。2.1 变量及其赋值n二、矩阵及其元素的赋值nMaltab中变量或常数都代表矩阵,标量应看做11的矩阵。n赋值语句的一般形式为:变量=表达式(或数)n如输入 a=1 2 3;4,5 6;7,8,9n显示:a=1 2 3 4 5 6 7 8 9n输入 x=-1.3 sqrt(3)(1+2+3)/5*4n显示:x=-1.3000 1.73

2、21 4.8000矩阵的值放在中,各元素之间采用空格或,号分隔行与行之间用;号隔开2.1 变量及其赋值变量的元素用元素所在的矩阵的行列标号来指定。如果是向量,则可只用向量的标号来表示,而省略行号1(对行向量)或列号1(对列向量)。如本例,表示1行5列的数位1.3,可以用x(1,5)=abs(x(1,1)来表示新增项,新增元素前自动填02.1 变量及其赋值新增项,新增元素前自动填0,这种超维扩展的功能只适用于赋值语句,若在其他语句中出现超维调用的情况,Matlab将给出出错提示。a 的4行3列元素值为6.52.1 变量及其赋值给全行赋值,可用“:”,表示第5行所有列的值为5 4 32.1 变量及

3、其赋值把第2、4行及第1、3列的公共元素取出放到b中。2.1 变量及其赋值把第2、4、5行的元素值空,即删除2、4、5行。这里表示空矩阵,注意空矩阵不是零矩阵。“空矩阵”是指没有元素的矩阵。对任何一个矩阵赋值为,就是使它的元素都消失掉。这完全不同于“零矩阵”,后者是元素存在,只是其数值为零而已。可以看出,空矩阵在使矩阵减缩时是不可缺少的概念。2.1 变量及其赋值 除”变量=表达式(或数)”的标准形式以外,可以不要等式左端而只剩下”表达式”.这有两种可能:1、该表达式并不产生数字解,例如产生图形或改变系统状态;2、该表达式产生数字解,但不需要保护它。此时MATLAB自动给出一个临时变量ans,把

4、右端的结果暂时存在ans中若再做下一次运算又用到ans,则前一次的结果就被冲销了。例如键入 a/72.1 变量及其赋值7变量赋值的时候如果没有变量名,只有表达式,这时结果会暂存在一个名为ans的变量中。2.1 变量及其赋值MATLAB中的每一个元素都可以是复数,实数是复数的特例。复数的虚数部分用i或j表示,这是在MATLAB启动时就已在内部设定的。例如,键入c=3+5.2j得c=3.0000+5.2000i 三、复数2.1 变量及其赋值Matlab的复数表达形式和手写形式一致。三、复数 对复数矩阵又两种赋值方法,即可将某元素逐个赋予复数,例如,键入 z=1+2j,3+4j;5+5j,7+8j得

5、 z=1.0000+2.0000i 3.0000+4.0000i 5.0000+5.0000i 7.0000+8.0000i 也可将其实部和虚部矩阵分别赋值,如 z=1,3;5,7+2,3;6,8*i 两种赋值方法得出相同的结果。注意:只有数字和i的乘积式中可省略乘号,若省略乘号“*”就会出错。另外,如果在前面程序中曾给出i或j赋过其他值,则i,j已经不是虚数符,在上述矩阵式中号,这些虚数赋值语句都不对了。此时应键入 clear i,j 即把原有的i,j清掉 ,然后再执行复数赋值语句。2.1 变量及其赋值三、复数例如键入i=2 z=1,3;5,7+2,3;6,8*i,其结果为z=5 9 17

6、232.1 变量及其赋值三、复数2.1 变量及其赋值这两种对复数的赋值方法都是正确的。注意:对矩阵表达式,i和矩阵相乘一定要有*号。三、复数2.1 变量及其赋值若i或j已经被赋值因此,应当先把i或j的原有数据给清掉,然后再执行复数赋值语句。此时i已经不再是虚数了,这样就得不到正确的复数赋值结果三、复数2.1 变量及其赋值三、复数 Maltab的所有运算符和函数都对复数有效。例如键入 f=sqrt(1+2i)得f=1.2720+0.7862i检验 f*f,其结果为ans=1.0000+2.0000i 因此,复数的表达式同样都能作为赋值语句。2.1 变量及其赋值Maltab的所有运算符和函数都对复

7、数有效。三、复数2.1 变量及其赋值三、复数 再来看看复数矩阵z的转置、共轭运算:运算符“”表示把矩阵作共轭转置,即把它的行列互换,同时把各元素的虚部反号。函数conj则只把各元素的虚部反号,即只取共轭。所以若想求转置而不求共轭,就要用“conj”和“”结合起来完成。键入w=z,u=conj(z),v=conj(z)得w=1.0000-2.0000i 5.0000-6.0000i 3.0000-4.0000i 7.0000-8.0000iu=1.0000-2.0000i 3.0000-4.0000i 5.0000-6.0000i 7.0000-8.0000iv=1.0000+2.0000i 5

8、.0000+6.0000i 3.0000+4.0000i 7.0000+8.0000i2.1 变量及其赋值矩阵的共轭转置:表示共轭转置,即w(i,j)=z*(j,i)三、复数2.1 变量及其赋值矩阵的共轭:conj表示取共轭,u=z*三、复数2.1 变量及其赋值矩阵的转置:矩阵的转置三、复数2.1 变量及其赋值矩阵的转置:使用transpose()矩阵的转置也直接用transpose函数三、复数2.1 变量及其赋值四、变量检查Who用来检查工作空间中的变量2.1 变量及其赋值四、变量检查在调试程序时,往往需要检查工作空间中的变量及其维数,可用who或whos命令。键入 who得Your var

9、iables are:a ans c f tz u v w z 如果需要知道它们的详细特征,可键入whos,其结果为Name Size Bytes Class Attributes(属性)a 2x3 48 double ans 1x1 16 double complex c 1x1 16 double complex f 1x1 16 double complex tz 2x2 64 double complex u 2x2 64 double complex v 2x2 64 double complex w 2x2 64 double complex z 2x2 64 double com

10、plex2.1 变量及其赋值四、变量检查Who用来检查工作空间中的变量2.1 变量及其赋值四、变量检查MATLAB中实际上还有几个内定的变量,在变量检查时不作显示。把它们列于表 2-1中。这里着重介绍一下Inf和NaN。Inf是无穷大(还有-Inf是无穷小),键入1/0就可得到它。NaN是非数(Not a Number)的缩写,由0/0、0*Inf或Inf/Inf而得。在其他语言中遇到上述非法运算时,系统就停止运算并退出。而MATLAB却不停止运算,仍给结果赋于Inf或NaN,并继续把程序执行完。这有很大的好处,可以避免因为一个数据不好而破坏全局。出现Inf或NaN后,对它们作的任何运算,结果

11、仍为Inf或NaN,这种运算规则称为IEEE(电工和电子工程师协会)运算规则,是IEEE的一种标准。2.1 变量及其赋值四、变量检查1/0会产生无穷大Inf0/0、数与Inf的操作会产生非数NaN。Maltab产生Inf或NaN的时候并不停止运算。四、变量检查四、变量检查2.1 变量及其赋值五、基本赋值矩阵和运算函数2.1.5 基本赋值矩阵基本赋值矩阵为了方便给大量元素赋值,MATLAB提供了一些基本矩阵。表2-1给出了最常用的一些,其用法可从下面的例子中看到。其中魔方矩阵magic(n)的特点是:其元素由1到nn的自然数组成;每行、每列及两对角线上的元素之和均等于(n3+n)/2。单位矩阵e

12、ye(n)是nn元的方阵,其对角线上的元素为1,其余元素均为0。下例列出了上表中的四种矩阵:键入 f1=ones(3,2),f2=zeros(2,3),f3=magic(3),f4=eye(2)2.1 变量及其赋值五、基本赋值矩阵和运算函数幺矩阵零矩阵魔方阵2*2单位阵线性分割函数linspace(a,b,n)在a与b之间均分地产生n个点值,形成1n元向量。例如,键入 f5=linspace(0,1,5)得 f5=0 0.2500 0.5000 0.7500 1.0000大矩阵可由若干个小矩阵组成,但其行列数必须正确,恰好填满全部元素。如键入 fb1=f1,f3;f4,f2 五、基本赋值矩阵和

13、运算函数2.1 变量及其赋值2.1 变量及其赋值五、基本赋值矩阵和运算函数Linspace(a,b,n)产生n个数据,把a到b这个区间等分开。大矩阵可以由若干小矩阵组成,但其行列数必须组合正确。2.1 变量及其赋值五、基本赋值矩阵和运算函数可再由fb1与f5组成一个更大的矩阵,键入 fb2=fb1;f5得 fb2=1.0000 1.0000 8.0000 1.0000 6.0000 1.0000 1.0000 3.0000 5.0000 7.0000 1.0000 1.0000 4.0000 9.0000 2.0000 1.0000 0 0 0 0 0 1.0000 0 0 0 0 0.250

14、0 0.5000 0.7500 1.0000可以看出,fb1和fb2显示的数据不同,fb1的元素都是整数,而fb2则都是带小数的。其原因是MATLAB要求一个矩阵中所有元素用同一显示格式。因为f5中的元素含小数,所以所有的元素都得用小数格式来显示(0元素除外,它表示真正的0,与无法显示的小数值0.0000不同)。2.1 变量及其赋值五、基本赋值矩阵和运算函数fb1和fb2显示不同,fb1的元素是整数,而fb2都是带小数的。这是因为matlab要求一个矩阵中所有元素采用同一种显示格式。五、基本赋值矩阵和运算函数为了用同一格式显示,当矩阵中的最大元素小于0.001或其最小元素大于1000时,MAT

15、LAB会把其中小于0.001或大于1000的公因子提出来,如键入由两个很小的数组成的矩阵 f=0.000073,5.33e-6得到 f=1.0e-004*0.7300 0.0533如果矩阵中出现大小差别很多的元素,则显示时将以大元素优先,小元素就只能显示很少的有效位,甚至成为0.0000。这时不要误以为它是0,可以用显示单个元素的命令来得到它的准确值,也可改用长格式(format long)来显示整个矩阵。2.1 变量及其赋值五、基本赋值矩阵和运算函数2.1 变量及其赋值五、基本赋值矩阵和运算函数幺矩阵零矩阵仔细观察,这里是一个魔方矩阵,这幅图的作者很伟大。2.1 变量及其赋值五、基本赋值矩阵和运算函数Rand(m,n)产生m行n列0,1区间内均匀分布随机数。注意到每次产生的数据都不一样。2.1 变量及其赋值五、基本赋值矩阵和运算函数Randn(m,n)产生m行n列标准正态分布随机数。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁