计算机建模与仿真-第3章.ppt
《计算机建模与仿真-第3章.ppt》由会员分享,可在线阅读,更多相关《计算机建模与仿真-第3章.ppt(72页珍藏版)》请在三一办公上搜索。
1、第三章,MATLAB数值运算,标识符:标识符是标志变量名、常量名、函数名和文件名的字符串的总称。MATLAB中的标识符最长允许31个字符,合法字符是52个英文字母(大小写看成不同字符)、10个数字和下划线。第一个字符必须是英文字母。,3.1 MATLAB数值运算基础,例:MYvar12,My_var12,MyVar12_均为有效的变量名 _MyVar12为无效的变量名 ABC和ABc表达的是不同的变量,变量及其赋值数,MATLAB中的实数只有一种数据格式,那就是双精度格式(即64位二进制或8个字节),它的有效值是十进制16位,动态范围是10的308次幂。数的存储和运算全按照同一格式进行,这样使
2、得编程简单,减少差错,改善了人机交互,但使得运行速度和内存空间的消耗上付出了代价。此为MATLAB的一大特色。,变量及其赋值矩阵及其元素的赋值,格式1:变量=表达式(或常量)格式2:表达式例:a=15+202-50+3*9a=392 b=30 b=30 a/b%表达式不赋给变量时,MATLAB自动给一个临时标量ans来暂时存储。ans=13.0667,这里表达式可进行+、*、/、sqrt、log、exp,变量及其赋值矩阵及其元素的赋值,分号和逗号的区别 x=2,y=3%逗号隔开,屏幕有回显x=2y=3 m=2;n=3;%分号隔开,无回显 m%在提示符后直接输入变量名可查看变量的值m=2,变量及
3、其赋值矩阵及其元素的赋值,矩阵有如下运算:,注意:4/2 42含义一样么?,变量及其赋值矩阵及其元素的赋值,通过直接输入矩阵的元素构造矩阵:用中括号 把所有矩阵元素括起来同一行的不同数据元素之间用空格或逗号间隔用分号(;)指定一行结束可分成几行进行输入,用回车符代替分号数据元素可以是表达式,系统将自动计算结果,变量及其赋值矩阵及其元素的赋值,例:输入矩阵A、B的值 A=1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16 B=1,sqrt(25),9,132,6,10,7*23+sin(pi),7,11,154,abs(-8),12,16,变量及其赋值矩阵及其元素的赋值
4、,变量中的元素所在位置用()中的数字来注明,以逗号隔开,用户可单独对其赋值。如a(3,2)=8,表示a矩阵中的第三行第二列元素值为8。若赋值元素的下标超出了原来矩阵的大小,矩阵的行列会自动扩展。修改矩阵A中元素的数值 A=1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16;A(1,1)=0;A(2,2)=A(1,2)+A(2,1);A(4,4)=cos(0);A(5,5)=8;A=0 2 3 4 0 5 7 7 8 0 9 10 11 12 0 13 14 15 1 0 0 0 0 0 8,变量及其赋值矩阵及其元素的赋值,给全行元素赋值可用“:”需要抽去某行元素另构成
5、一个矩阵用“”A=1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16;A(4,:)=3 4 5 6 A(1,2,:)=%亦可表示为A(1:2,:)=A=9 10 11 12 3 4 5 6,变量及其赋值矩阵及其元素的赋值,注意:空矩阵就是指没有元素的矩阵。对任何一个矩阵赋值,就是使它的元素都消失掉。这完全不同于“零矩阵”,后者是元素存在,只是其数值为零而已。空矩阵是使矩阵缩短时不可缺少的矩阵。,变量及其赋值矩阵及其元素的赋值,矩阵另外的赋值方式:矩阵下标与子矩阵提取A(m,n)提取第m行,第n列元素A(:,n)提取第n列元素A(m,:)提取第m行元素A(m1:m2,n
6、1:n2)提取第m1行到第m2行和第n1列到 第n2列的所有元素A(m1,m2,n1,n2)提取第m1行和第m2行,第n1列和 第n2列的所有元素A(m:end,n)提取从第m行到最末行和第n列的子块A(:)得到一个长列矢量,该矢量的元素按 矩阵的列进行排列,变量及其赋值矩阵及其元素的赋值,a=1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16;b=a(3,4)%提取第3行,第4列元素 c=a(:,1)%提取第1列元素 d=a(1,:)%提取第1行元素 e=a(1:3,1:3)%提取第1行到第3行和第1列到第3列的所有元素 f=a(1,3,1,3)%提取第1行和第3行
7、,第1列和第3列的所有元素 g=a(2:end,3)%提取从第2行到最末行和第3列的子块 h=a(:)%得到一个长列向量,该向量的元素按矩阵的列进行排列 h=a(:)%得到一个长行向量,虚数符号MATLAB启动时定为i、j,在写复数的虚部时可以不用乘号,连写在数字后面。如3+5i等。如果用户在程序中另外给i、j赋值,则他们的虚数意义就失效。此时需用clear i,j将原来赋给i,j的值清除。复数赋值格式:格式1:按元素逐个赋值格式2:将其实部和虚部分别赋值,变量及其赋值复数,c=5+2i z=1+2i,3+4i;5+6i,7+8i z=1,3;5,7+2,4;6,8*i%此处*不可以省,变量及
8、其赋值复数,MATLAB中所有的运算符和函数都对复数有效。conj(X)表示为共轭,即把X的虚部反号。如Z=3+5i,conj(Z)=3-5i。是共轭转置运算符,对实矩阵把行号与列号交换,对复矩阵除行列交换外,还要把矩阵元素取共轭。若求复数的转置而不要共轭,增将conj和结合起来使用。,变量及其赋值复数,f=sqrt(1+2i)g=sin(3+5i)f*f,f*g z=1+2i,3+4i;5+6i,7+8i w=z,u=conj(z),v=conj(z),变量及其赋值复数,变量检查命令:who,whos clear%删除工作区中所有定义过的变量 whos%查看当前工作区内变量信息,无显示表示没
9、有定义的变量 xy=1;yx=2;%对变量赋值 whos Name Size Bytes Class xy 1x1 8 double array yx 1x1 8 double arrayGrand total is 2 elements using 16 bytes whoYour variables are:xy yx clear xy yx%删除变量xy及yx whos xy%这时变量xy已经不存在了?Undefined function or variable xy.,变量及其赋值变量检查,变量及其赋值变量检查,在检查中不显示内部变量(具体见P12页表2.1中的特殊变量和函数),变量及
10、其赋值变量检查,注意:在其他语言中若遇到inf 或nan这些特殊变量时,系统就停止运算退出。而MATLAB不停止运算,仍给结果赋予inf 或nan,并继续把程序执行完。这是MATLAB的又一大好处,可避免因为一个数据不好而破坏全局。出现inf 或nan后,系统对他做任何运算,结果仍为inf 或nan,此为IEEE标准。,变量及其赋值基本赋值矩阵,变量及其赋值基本赋值矩阵,f1=ones(3,2)f2=zeros(2,3)f3=eye(3)f4=rand(3,5),f5=randn(3,5)f6=linspace(0,1,5)%在0和1中均匀的生成5个点(包括0和1),形成5维向量。f7=log
11、space(0,1,5)%在100和101中按对数均匀的生成5个点(包括0和1),形成5维向量。,变量及其赋值矩阵的组合与显示,大矩阵可由若干个小矩阵组成,但必须其行列数正确,恰好填满全部元素。一个矩阵中所有元素用同一显示格式。有一个是小数则都显示为小数。当矩阵中的最大元素小于 0.001,或其最小元素大于1000时,MATLAB 会把其公因子提出来。元素大小差别很大时,不宜用矩阵显示。,变量及其赋值矩阵的组合与显示,f1=ones(3,2),f2=zeros(2,3),f3=magic(3),f4=eye(2)f5=linspace(0,1,5)fb1=f1,f3;f4,f2 fb2=fb1
12、;f5 f=0.000073 5.33e-6,3.2 MATLAB的矩阵运算,(1)矩阵的加减乘法(2)矩阵的除法和线形方程解(3)矩阵的乘方和幂次运算(4)矩阵结构形式的提取与变换,两个矩阵进行加减的条件是其行数和列数对应相同,简称阶次相同 size(A)=size(B)矩阵的加减即其对应元素进行加减。如果其中一个变量是标量,则会自动扩展成各元素均取此标量值的同阶次矩阵。,3.2 矩阵的初等运算矩阵的加减法,x=1 2 3;4 5 6;7 8 9;y=9 8 7;6 5 4;3 2 1;mx,nx=size(x)my,ny=size(y)x+y x-y x-1%1是标量,则会自动扩展成各元素
13、均取此标量值的33矩阵,3.2 矩阵的初等运算矩阵的加减法,3.2 矩阵的初等运算矩阵的加减法,注意:size和lengthsize有两个输出量。格式:m,n=size(x),其中m和n分别表示矩阵x的行数和列数。length只有一个输出量,格式:n=length(x),n表示矩阵x的列数,或行向量x的列数例:x=1 2 3;4 5 6 mx,nx=size(x)m=length(x)y=1 2 3 4 5 6 7 8 n=length(y),3.2 矩阵的初等运算矩阵的乘法,两矩阵相乘C=A*B的条件是A的列数等于B的行数,简称内阶数相同。如矩阵A为n*p阶,矩阵B为p*m阶,则C是n*m阶
14、。内阶数不同的矩阵不能相乘。矩阵的乘法不符合交换律:A*B B*A,左乘不等于右乘。若一个变量是标量,则按标量乘法进行运算。,3.2 矩阵的初等运算矩阵的乘法,A=1,2,3;4,5,6,B=2,4,0;1,3,5,C=1,4,7;8,5,2,;3,6,0,D=1,2,3;4,5,6;7,8,9 A*B%内阶数不同,无法进行运算 A*B A*B C*D D*C%上两句表示乘法不符合交换律 C*2%若一个变量是标量,则按标量乘法进行运算,3.2 矩阵的初等运算矩阵的乘法,线性方程组D*X=B,如果D非奇异,即它的逆矩阵inv(D)存在;则其解用MATLAB表示为:X=inv(D)*B=DB符号称
15、为左除,即分母放在左边。左除的条件:B的行数等于D的行数。A=1,2,3;4,5,6,D=1,4,7;8,5,2,;3,6,0 DA,DA,3.2 矩阵的初等运算矩阵的除法,3.2 矩阵的初等运算矩阵的除法,线性方程组X*D1=B1,如果D1非奇异,即它的逆矩阵inv(D1)存在;则其解用MATLAB表示为:X=B1*inv(D1)=D1/B1符号/称为右除。右除的条件:B1的列数等于D1的列数。A=1,2,3;4,5,6,D=1,4,7;8,5,2,;3,6,0 A/D,A/D,3.2 矩阵的初等运算线性方程组的求解,3.2 矩阵的初等运算线性方程组的求解,MATLAB的乘幂函数“”、指数函
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 建模 仿真

链接地址:https://www.31ppt.com/p-6606397.html