版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、% 为注释命令窗口若输入A = 1 2 3; 4 5 6; 7 8 10按下回车键后显示如下A = 1 2 3 4 5 6 7 8 10 清除命令窗口 clc这并不清除工作空间,只是清除了显示禁止结果的显示: 在命令后加上分号,则屏幕上不会立即显示出结果这在运算大的数据量时十分有用,如下命令产生100*100的幻方:A = magic(100);长命令行 如想另起一行输入命令,在末尾加上"."即可,如:s = 1 1/2 + 1/3 1/4 + 1/5 1/6 + 1/7 . 1/8 + 1/9 1/10 + 1/11 1/12;可用who或whos来察看当前工作空间中有哪
2、些变量,如:whos Name Size Bytes ClassA 4x4 128 double arrayD 3x5 120 double array M 10x1 40 cell array S 1x3 628 struct array h 1x11 22 char array 保存、重载工作空间 你可以将工作空间保存为一个二进制的M文件,以后还可以恢复回来:save june10也可只保存工作空间中的部分变量值save june10 x y z重载时只需输入load june10对于查找路径中的文件,what显示当前目录下的文件,加上路径后可显示输入的路径下所有的MatLab文件.如:w
3、hat matlabelfun (显示matlabelfun路径下的所有函数)以下二命令分别显示、编辑m文件type rankedit rank (如果rank.m文件不存在,会有相应的提示)2.1 矩阵的创建>> x = 1 2 3 % 一维 1x3 阵列 >> x = 1 2 3; 4 5 6 %二维 2x3 矩阵,以;区隔各列的元素 >> x = 1 2 3 %二维 2x3 矩阵,各列的元素分二行键入 4 5 6 %矩阵的尺寸不必预先定义假设要计算 y = sin (x), 0=<x<=而x = 0, 0.2, 0.4,.,,即可用数组方式
4、运算,例如 >> x = 0 0.2*pi 0.4*pi 0.6*pi 0.8*pi pi %注意数组内也可作运算 x = 0 0.6283 1.2566 1.8850 2.5133 3.1416 >> y=sin(x) y = 0 0.5878 0.9511 0.9511 0.5878 0.0000要找出数组的某个元素或数个元素,可参考以下的例子 >> x(3) % 第三个x的元素 ans = 1.2566 >> y(5) % 第五个y的元素 ans = 0.5878 >> x(1:5) % 列出第一到第五个x的元素 ans = 0
5、 0.6283 1.2566 1.8850 2.5133 >> y(3:-1:1) % 列出第三到第一个y的元素,3为起始值,1为终止值,-1为增量 ans = 0.9511 0.5878 0 >> x(2:2:6) % 列出第二到第六个x的元素,2为起始值,6为终止值,2为增量 ans = 0.6283 1.8850 3.1416 >> y(4 2 5 1) % 列出y元素,排列元素依序为原来y数组的4,2,5,1个 ans = 0.9511 0.5878 0.5878 0(1)利用冒号表达式获得子矩阵 A(:,j)表示取A矩阵的第j列全部元素;A(i,:
6、)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。 A(i:i+m,:)表示取A矩阵第ii+m行的全部元素;A(:,k:k+m)表示取A矩阵第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第ii+m行内,并在第kk+m列中的所有元素。 此外,还可利用一般向量和end运算符等来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。 (2)利用空矩阵删除矩阵的元素在MATLAB中,定义为空矩阵。给变量X赋空矩阵的语句为X=。注意,X=与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间,只是维数为0。将某些元素从矩阵中删
7、除,采用将其置为空矩阵的方法就是一种有效的方法。3. 建立大矩阵 大矩阵可由方括号中的小矩阵建立起来。例如 A=1 2 3;4 5 6;7 8 9; C=A,eye(size(A); ones(size(A),A C = 1 2 3 1 0 0 4 5 6 0 1 0 7 8 9 0 0 1 1 1 1 1 2 3 1 1 1 4 5 6 1 1 1 7 8 9在命令窗口创建简单的数值矩阵在命令窗口输入:x= 1 2 3 ; 4 5 6 ; 7 8 9x= 1 2 3 4 5 6 7 8 92.1.2 通过M文件创建矩阵 当矩阵的尺寸较大时,直接在命令窗口输入矩阵元素,容易出错误且不便修改。为
8、了解决此问题,可以先将矩阵按创建原则写入一个M文件中,在MATLAB的命令窗口或程序中直接执行该M文件,即将矩阵调入工作空间。创建0到2*间的正弦函数矩阵。>> x=0:pi/4:2*pi;>> y=sin(x)y = Columns 1 through 5 0 0.7071 1.0000 0.7071 0.0000 Columns 6 through 9 -0.7071 -1.0000 -0.7071 -0.0000产生两个3*3的矩阵。A = pascal(3) A = 1 1 1 1 2 3 1 3 6 B = magic(3) B = 8 1 6 3 5 7 4
9、 9 2 3*2的随机矩阵:C = fix(10*rand(3,2) C = 9 4 2 8 6 7列矩阵,行矩阵,以及常数的表达:u = 3; 1; 4 v = 2 0 -1 s = 7产生的矩阵是:u= 3 1 4 v= 2 0 -1 s = 7两个矩阵分别为1 2 3;4 5 6;7 8 9和1 1 1;2 2 2;3 3 3,求两者相加的和。a=1 2 3;4 5 6;7 8 9; b=1 1 1;2 2 2;3 3 3; c=a+b结果为:c = 2 3 4 6 7 8 10 11 12两个矩阵分别为1 2 3;4 5 6;7 8 9和1 1 1,阶数不同,求两者相减的差。a=1 2
10、 3;4 5 6;7 8 9; b=1 1 1; c=a-b? Error using => -Matrix dimensions must agree.两个矩阵相乘,矩阵a为 1 2 3;4 5 6;7 8 9 ,矩阵b为1 2 3 ,分别计算c=a*b和d=b*a。a=1 2 3;4 5 6;7 8 9;b=1 2 3;c=a*b? Error using => *Inner matrix dimensions must agree.将第三句c=a*b改成d=b*a,再运行一次结果为:c = 30 36 42两个数组相乘% 在命令窗口输入两数组,计算c=a.*b:a=1 2 3
11、;b=4 5 6;c=a.*b结果为:c = 4 10 18在通常情况下,x=ab是a*x=b的解,x=b/a是x*a=b的解。一般情况下,ab不等于ba。两个矩阵相除,矩阵a和b均为3×3阶矩阵。a=rand(3)a = 0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214b=rand(3)b = 0.4447 0.9218 0.4057 0.6154 0.7382 0.9355 0.7919 0.1763 0.9169c=a/bc = 1.7993 -2.0059 1.7482 1.3530 -0.4548
12、-0.1144 0.2744 0.6673 0.0936d=bad = 3.2912 -0.0601 3.4561 0.4400 0.1830 -0.2760 -2.2653 0.8479 -2.0362数组的除法用符号”.”或”./”表示(两者的结果相同),a与b必须具有相同的阶数。a.b表示b中的元素分别除以a中的对应元素。求两数组的除法。a=1 2 3;b=4 5 6;c=a.bc = 4.0000 2.5000 2.0000c=b./ac = 4.0000 2.5000 2.0000矩阵a为1 2;3 4,求它的1.5次幂。a=1 2;3 4;c=a1.5结果为:c = 2.9746
13、- 0.1729i 4.3352 + 0.0791i 6.5028 + 0.1186i 9.4774 - 0.0543i 数组a为1 2 3,数组b为4 5 6,求数组的幂c=a.b。a=1 2 3;b=4 5 6;c=a.b结果为:c = 1 32 729数组a为1 2 3,求数组的幂c=a.2。a=1 2 3;c=a.2结果为:c = 1 4 9数组a为1 2 3,求数组的幂运算c=2.a。a=1 2 3;c=2.a结果为:c = 2 4 8矩阵的转置用符号“ ”来表示和实现矩阵a为1 2 3;4 5 6;7 8 9,计算a的转置。a=1 2 3;4 5 6;7 8 9;c=a'结
14、果为:c = 1 4 7 2 5 8 3 6 9如果输入矩阵a是复数矩阵,则a为它们的复数共轭转置,若要进行非共轭转置运算,使用a.或conj(a)。矩阵a为1+2i 3+4i,计算a的转置。a=1+2i 3+4i;c=a'c=a.'结果为:c = 1.0000 - 2.0000i 3.0000 - 4.0000ic = 1.0000 + 2.0000i 3.0000 + 4.0000ic=conj(a')结果为: c = 1.0000 + 2.0000i 3.0000 + 4.0000i矩阵a和b均为1×3阶矩阵,使用关系运算符对对应元素进行比较。a=0 -
15、1 2;b=-3 1 2;a<b ans = 0 1 0a<=b ans = 0 1 1a>b ans = 1 0 0a>=b ans = 1 0 1a=b ans = 0 0 1a=b ans = 1 1 0关系运算符通常用于程序的流程控制中,常与if、while、for、switch等控制命令联合使用。 矩阵a和b均为2×3阶矩阵,使用逻辑运算符计算对应元素。a=1 0 3;0 -1 6;b=-1 0 0;0 5 0.3;a&b; a|b;a;b1、ans = 1 0 0 0 1 12、ans = 1 0 1 0 1 13、ans = 0 1 0
16、1 0 04、ans = 0 1 1 1 0 0 产生5阶随机方阵A,其元素为10,90区间的随机整数,然后判断A的元素是否能被3整除。 (1) 生成5阶随机方阵A。 A=fix(100*rand(5)+10) (2) 判断A的元素是否可以被3整除。 P=rem(A,3)=0矩阵a为1 2 3;4 5 6;7 8 9,计算a的特征值和特征矢量。a=1 2 3;4 5 6;7 8 9;c,d=eig(a)c = -0.2320 -0.7858 0.4082 -0.5253 -0.0868 -0.8165 -0.8187 0.6123 0.4082对于严重病态的矩阵,其逆函数可能是伪解,此时应使用
17、伪逆函数。d = 16.1168 0 0 0 -1.1168 0 0 0 -0.0000矩阵a为1 2 3;4 5 6;7 8 9,计算a的逆矩阵和伪逆矩阵。a=1 2 3;4 5 6;7 8 9;c=inv(a)c=pinv(a) Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 1.541976e-018.c = 1.0e+016 * -0.4504 0.9007 -0.4504 0.9007 -1.8014 0.9007 -0.4504 0.9007 -0.45
18、04c = -0.6389 -0.1667 0.3056 -0.0556 0.0000 0.0556 0.5278 0.1667 -0.1944矩阵a为4阶pascal矩阵,将其重新排列为1×16阶的一维矢量 和2×4×2阶的三维数组。a=pascal(4)c=reshape(a,1,16)c=reshape(a,2,4,2)矩阵a为 , 分别将其左右翻转、上下翻转。矩阵a为4阶pascal矩阵,可在命令窗口由函数创建,分别计算c=fliplr(a)、c=flipud和c=rot90(a)。a=pascal(4)a = 1 1 1 1 1 2 3 4 1 3 6
19、10 1 4 10 20>> c=fliplr(a)c = 1 1 1 1 4 3 2 1 10 6 3 1 20 10 4 1c=flipud(a)c = 1 4 10 20 1 3 6 10 1 2 3 4 1 1 1 1>> c=rot90(a)c = 1 4 10 20 1 3 6 10 1 2 3 4 1 1 1 1输入系数矢量,创建多项式。在命令窗口输入系数矢量,并转换为多项式。poly2sym(1 -4 3 2)求矩阵的特征多项式系数,并转换为多项式。在命令窗口输入矩阵,求特征多项式系数并转换为多项式形式。a=1 2 3;4 5 6;7 8 0;p=pol
20、y(a)poly2sym(p)根据根矢量-0.5 0.3+0.4i 0.3+0.4i创建多项式。在命令窗口输入根矢量,并创建多项式:r=-0.5 -0.3+0.4i -0.3-0.4i;p=poly(r)pr=real(p)ppr=poly2sym(pr)求多项式 在5、7和9处的值。在命令窗口输入多项式系数,并求值;p = 3 2 1;polyval(p,5 7 9)函数ployvalm的调用格式为:y=ployvalm(p,x) 求多项式p对于矩阵x的值,要求矩阵x必须是方阵,x如果是一标量,求得的值与函数ployval相同。 求多项式 对于矩阵2 5 ;7 9及标量5的值。在命令窗口输入
21、多项式系数,并求值:p = 3 2 1;polyvalm(p,2 5;7 9)polyvalm(p,5)分别用两种方法求多项式 的根。在命令窗口输入多项式系数,并求根:a=1 -5 3 -6 4 -10;r=roots(a)s=compan(a)r=eig(s)计算两多项式 和 的乘法。 在命令窗口输入多项式系数,求两多项式的乘法:a=1 -5 3 -4 2;b=1 2 -5 3;c=conv(a,b)计算上式求得的乘积被 除所得结果。求两多项式的除法:c=1 -3 -12 30 -36 33 -22 6;b=1 2 -5 3;d=deconv(c,b)计算多项式 的微分。在命令窗口输入多项式
22、系数,求多项式的微分:p=3 -5 2 -6 10;polyder(p)poly2sym(ans)计算多项式的积分。在命令窗口输入多项式系数,求多项式的积分:p=12 -15 4 -6;polyint(p)求方阵系统的根。在命令窗口产生随机方阵a和矢量b,计算ab:a=fix(15*rand(3,3)b=fix(15*rand(3,1)x=aba和b均为方阵,求方阵系统的根。在命令窗口产生随机方阵a和b,计算ab:a=fix(15*rand(3,3)b=fix(15*rand(3,3)x=ab基本统计函数的应用。在命令窗口产生100×4阶的随机数组A,计算A的最大值矢量、中位值矢量、
23、平均值矢量和标准差矢量: A=randn(100,4);Amax=max(A)Amed=median(A)Amean=mean(A)Astd=std(A)MATLAB中规定:在进行统计运算时,如果变量不是矢量而是矩阵,则按列进行运算,运算结果不是一个数组而是一个行矢量。 计算协方差和相关系数矩阵。在命令窗口产生两个10×3阶的随机数组x和y,计算关于x和y的协方差和相关系数矩阵:x=rand(10,3);y=rand(10,3); cx=cov(x)cy=cov(y)cxy=cov(x,y) px=corrcoef(x)pxy= corrcoef(x,y)
24、0;使用sym函数创建符号变量。a=sym('a')b=sym('hello')c=sym('(1+sqrt(5)/2')y=sym('x3+5*x2+12*x+20') 使用syms函数创建符号变量。在命令窗口输入:>> syms a b c d n=a b c d ; b c d a ; c d a b ; d a b c n = a, b, c, d b, c, d, a c, d, a, b d, a, b, c *注意符号矩阵与普通数值矩阵的区别.在命令窗口显示时,数值矩阵只显示数值,而符号矩阵的每
25、行元素放在一对方括号内.在WORKSPACE中的图标也不一样.在命令窗口输入矢量并绘图y=0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20;plot(y)在命令窗口输入两个矢量并绘图:x=0:0.05:4*pi; %生成0至4,间隔为0.05的自变量y=sin(x); plot(x,y)注意,绘制双矢量曲线图时,矢量x与y必须具有同样的长度。 绘制线性坐标图和3种对数坐标图。y=0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20;subplot(2,2,1) %创建第一个子图plot(y)title('plot(y)')subplo
26、t(2,2,2) %创建第二个子图semilogx(y)title('semilogx(y)')subplot(2,2,3) %创建第三个子图semilogy(y)title('semilogy(y)')subplot(2,2,4) %创建第四个子图loglog(y)title('loglog(y)')绘制函数y=sin2tcos2t的极坐标图形。在命令窗口创建角度矢量t,以函数y=sin2tcos2t为半径绘图:t=0:.01:2*pi;polar(t,sin(2*t).*cos(2*t)绘制20边的多边形,顶角用小圆圈表示。 在命令窗口创建矢
27、量t,用exp函数生成圆周并绘图。t=0:pi/10:2*pi;plot(exp(i*t),'-o')axis('square')复矩阵绘图比较在命令窗口创建矢量t和x,然后创建矩阵y,绘制复平面图和实部图。t=0:pi/10:2*pi; x=exp(i*t)'y=x 1.2*x 1.4*x 1.6*x; plot(y); axis('square') %在复平面绘制实部对于虚部的关系图figure,plot(x,y); axis('equal')%在实平面绘制实部图,虚部被忽略当x为矢量,y为矩阵是绘制多重曲线图。在命令
28、窗口创建矢量x,然后创建函数矩阵y并绘图;x=0:pi/50:2*pi;y(1,:)=sin(x);y(2,:)=0.6*sin(x);y(3,:)=0.3*sin(x);plot(x,y)当x为矩阵,y为矢量时绘制多重曲线图。在命令窗口创建矩阵x和矢量y并绘图:x(1,:)=0:pi/50:2*pi;x(2,:)=pi/4:pi/50:2*pi+pi/4;x(3,:)=pi/2:pi/50:2*pi+pi/2;y=sin(x(1,:)plot(x,y)使用多组变量,绘制多重曲线图。在命令窗口创建矩阵x和y并绘图:x1=0:pi/50:2*pi; %生成100个数据点x2=0:pi/30:2*
29、pi; %生成60个数据点x3=0:pi/15:2*pi; %生成30个数据点y1=sin(x1);y2=0.6*sin(x2);y3=0.3*sin(x3);plot(x1,y1,x2,y2,x3,y3) 使用不同的线型绘图。在命令窗口创建矢量t、y1、y2和y3,使用不同的线型绘图t=0:pi/100:2*pi;y=sin(t);y2=sin(t-0.25); y3=sin(t-0.5);plot(t,y,'-',t,y2,'-',t,y3,':')使用不同的标记点绘图。在命令窗口创建矢量t和y,使用不同的标记点绘图t=0:pi/20:2*p
30、i;y=sin(t);y2=sin(t-0.25);y3=sin(t-0.5);plot(t,y,'o',t,y2,'*',t,y3,'+')设置绘图线的线型、颜色、宽度、标记点的颜色及大小。在命令窗口创建矩阵t和y,设置绘图线的线型、颜色、宽度、标记点的颜色及大小:t=0:pi/20:pi;y=sin(4*t).*sin(t)/2;plot(t,y,'-bs','LineWidth',2,.%设置线的宽度为2 'MarkerEdgeColor','k',. %设置标记点边缘颜色为黑色 '
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度农业科技实习生合同协议3篇
- 2025版学校教师劳动合同示范范本3篇
- 2025年度文化展览馆展品搬运与布展合同3篇
- 2024年航空公司航班时刻分配协议
- 2025年度水库修建与水文研究承包合同示范文本3篇
- 二零二五年度地铁工程质量担保合同范本3篇
- 二零二五年度学生公寓宿管员劳动合同范本及职责规范3篇
- 2024年电力设备焊接施工协议
- 2024年股市研究合作协议
- 2025版珠宝首饰购销合同担保人品质担保范本3篇
- 广东某监理公司检测仪器设备管理规定
- 2023财务部年度工作总结(7篇)
- ZL50型轮胎装载机液压系统
- 在线投票管理系统的开题报告
- 媒介融合概论
- 2023-2024学年广东省深圳市小学数学五年级上册期末评估试卷
- 新求精中级I听力原文
- 抽油机井示功图汇总课件
- 煤矿安全管理机构结构图
- 《兰亭序》中楷毛笔临摹字帖可打印
- 免疫学(全套课件)
评论
0/150
提交评论