matlab复习整理.docx
- 文档编号:25985559
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:44
- 大小:460.53KB
matlab复习整理.docx
《matlab复习整理.docx》由会员分享,可在线阅读,更多相关《matlab复习整理.docx(44页珍藏版)》请在冰豆网上搜索。
matlab复习整理
Matlab复习整理
1.Matlab默认的预定义变量
常数
返回值
ans
默认变量名,保存最近的结果
eps
浮点相对精度
realmax
最大浮点数
realmin
最小浮点数
pi
圆周率
i,j
虚数单位
inf
无限值
NaN
不合法的数值值,非数值
computer
计算机类型
version
MATLAB版本字符串
2.常用标点功能
3.①常见的通用操作指令
-who列出在MATLAB工作空间中已有的变量
-whos列出驻留变量的同时,还给出维数及性质
-clear删除内存中的变量(数据)
-clc删除命令窗口的内容(已使用过的命令)
-home光标移到命令窗口的左上角
-clf删除图形窗口的内容
-↑调出刚才使用过的命令
-quit退出MATLAB
②文件操作命令
-what:
按扩展名分类列出当前目录上的文件
-what*.m:
列出当前目录中所有m文件
-whichtest.m:
显示test.m所在的路径
-path显示matlab启动时设定的搜索路径
-Dir可显示当前目录下的所有文件
-del删除指定文件
③输入输出命令
(3)输入输出命令实在是找不到了,上网找了
大家自己看着信不信,背多少吧
4.①工作空间的管理指令
②执行命令时的工作空间
PPT1A58
MATLAB的工作空间包含了一组可以在命令窗口中调整(调用)的参数
who:
显示当前工作空间中所有变量的一个简单列表
whos:
则列出变量的大小、数据格式等详细信息
clear:
清除工作空间中所有的变量
clear变量名:
清除指定的变量
5.M脚本文件和M函数文件的主要区别
命令文件(ScriptFile脚本式M文件)
-无输入参数,不返回参数
-操作工作空间中的数据
-对于需要多次执行的一系列命令特别有用
函数文件(FunctionFile函数式M文件)
-可输入参数,也可返回参数
-函数的变量为局部变量,也-可设外部变量。
-扩充MATLAB的函数库
6.程序结构控制语句
A.顺序结构
1.数据的输入
从键盘输入数据,则可以使用input函数来进行,该函数的调用格式为:
A=input(提示信息,选项);
其中提示信息为一个字符串,用于提示用户输入什么样的数据。
如果在input函数调用时采用's'选项,则允许用户输入一个字符串。
例如,想输入一个人的姓名,可采用命令:
xm=input('What'syourname?
','s');
2.数据的输出
MATLAB提供的命令窗口输出函数主要有disp函数,其调用格式为
disp(输出项)
其中输出项既可以为字符串,也可以为矩阵。
例3-2输入x,y的值,并将它们的值互换后输出。
程序如下:
x=input('Inputxplease.');
y=input('Inputyplease.');
z=x;
x=y;
y=z;
disp(x);
disp(y);
B.选择结构
双分支if语句:
if条件
语句组1
else
语句组2
end
当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句。
7.①数组的表示,数值数组的创建和寻访,一维数组、二维数组、结构体、元胞数组的用法、创建
A.数组的表示:
只需要用空格或逗号间隔数组元素,再用方括号括起来。
B.数值数组的创建和寻访
a)创建数组向量的三种常用方法:
1.增量法(利用冒号生成向量start:
step:
end)
x=i:
j如果i x=i: j: k如果i x=i: -j: k如果i>k,生成以i为初值,k为终值,-j为步长的有限等差数列; 2.利用linspace(a,b)生成等差向量 a=linspace(n1,n2,n) 在线性空间上,行矢量的值从n1到n2,数据个数为n,缺省n为100。 》a=linspace(1,10,10) a= 12345678910 x=linspace(2,8)将生成100个数,以2开始,以8结束。 y=linspace(2,8,10)将生成10个数,以2开始,以8结束。 3.利用logspace(a,b)生成等比向量 a=logspace(n1,n2,n) 在对数空间上,行矢量的值从10n1到10n2,数据个数为n,缺省n为50。 这个指令为建立对数频域轴坐标提供了方便。 》a=logspace(1,3,3) a= 101001000 b)数值数组的寻访与赋值: x(3): 寻访数组x的第三个元素 x([125]): 返回数组x的第1、2、3个元素组成的子数组 x(2: 4): 返回数组x第2到第4个元素组成的子数组 x(2: end): 返回数组x第2个元素到最后一个元素组成的子数组 x(3: -1: 1): 返回数组x第3个元素以步长为-1到第1个元素组成的子数组,即等效为x=([321]) x(find(x>0.5)): 返回数组x中大于0.5的元素组成的子数组 x([1235631]): 对数组x中的元素可以重复寻访,返回的数组长度允许大于原数组 x(3)=12: 把数组x的第3个元素赋值为12 x([14])=[28]: 把数组x的第1、4个元素分别赋值为2和8 ②矩阵操作、运算(重点啊尼玛尼玛~) A.矩阵创建的常用方法: 1.直接输入法;2.函数法;3.矩阵编辑器;4.交互输入法,5.数据文件法。 B.直接输入法三条规则: 1.矩阵元素必须在方括号[]之内; 2.同一行相邻元素间用逗号或空格分隔; 3.矩阵的行与行之间必须用分号分隔。 C.函数法构造特殊矩阵 C=[]—产生空阵 A=diag(V)--对角元素向量V=[a1,a2,…,an] r=rand——产生随机数 R=rand(3,4)——产生3×4阶随机矩阵 E=eye(3)——产生3阶单位矩阵 B=zeros(3,4)——产生3×4阶全“0”矩阵 D=ones(3,4)——产生3×4阶全“1”的矩阵 X=magic(3)——产生3阶幻方 Y=vander(4)——产生4阶范德蒙矩阵 示例: 》eye(2,3) ans= 100 010 》zeros(2,3) ans= 000 000 》ones(2,3) ans= 111 111 》V=[572];A=diag(V) A= 500 070 002 》eye (2) ans= 10 01 》zeros (2) ans= 00 00 》ones (2) ans= 11 11 如果已知A为方阵,则V=diag(A)可以提取A的对角元素构成向量V。 D.通过提示语句输入矩阵或数组 x=input(‘prompt’),或; x=input('prompt','s'); 在屏幕上显示一个提示符,等待用户从键盘输入,并读取用户输入到工作空间中。 ; 第一种方式供输入数字,而后一种方式供输入字符串。 ; 示例: 例3-3 >>ourNyame=input('请输入您的姓名: \n','s') 请输入您的姓名: zhao yourName= zhao >>yourAge=input('请输入您的年龄: ') 请输入您的年龄: 33 yourAge= 33 E.数据文件法 通过函数将其加载到工作空间中,从而恢复以前保存过的变量。 常用格式: load-asciifilename %加载ascii码数据文件 load-matfilename %加载二进制数据文件 F.数组/矩阵元素的操作主要有提取(部分)元素、修改或赋值给(部分)元素值、删除(部分)元素及数组/矩阵的翻转等。 a)矩阵提取 MATLAB通过确认矩阵下标,可以对矩阵进行插入子块,提取子块和重排子块的操作。 A(m,n): 提取第m行,第n列元素 A(: n): 提取第n列元素 A(m,: ): 提取第m行元素 A(m1: m2,n1: n2): 提取第m1行到第m2行和第n1列到第n2列的所有元素(提取子块)。 A(: ): 得到一个长列矢量,该矢量的元素按矩阵的列进行排列。 示例: A=[269;428;351] A=269 428 351 A(3,2) ans=5 A(6)//等同A(3,2),列优先 ans=5 Sum(A(1: 3,3))//求第三列元素之和 b)矩阵的子矩阵可以通过向量、标量或冒号的标识来引用和赋值 >>A=magic(3) A= 816 357 492 >>A1=A(1: 2: 3,[2,3])%对应1,3行,2,3列 A1= 16 92 >>A2=A(: 2: end)%: 表示全部,end表示到最后一列 A2= 16 57 92 >>L1=logical([101]);%给出逻辑向量L1 >>L2=logical([110]);%给出逻辑向量L2 >>A3=A(L1,L2)%通过逻辑微量矩阵标识子矩阵,取出L1指定的1,3行和L2指定的1,2列 A3= 81 49 c)矩阵的大小 [m,n]=size(A,x): 返回矩阵的行列数m与n,当x=1,则只返回行数m,当x=2,则只返回列数n。 length(A)=max(size(A)): 返回行数或列数的最大值。 rank(A): 求矩阵的秩 示例: 》a=[123;345]; 》[m,n]=size(a) m= 2 n= 3 》length(a) ans= 3 》max(size(a)) ans= 3 》rank(a) ans= 2 d)数组的扩展 A=reshape(1: 9,3,3) A= 147 258 369 A(5,5)=111 A= 14700 25800 36900 00000 0000111 A(: 6)=222 A= 14700222 25800222 36900222 00000222 0000111222 A=[[A;[135]][1;2;3;4]] A=1471 2582 3693 1354 e)矩阵的一些特殊操作 矩阵的变维 a=[1: 12]; b=reshape(a,3,4) c=zeros(3,4);c(: )=a(: ) b= 14710 25811 36912 c= 14710 25811 36912 reshape的使用演示 a=-4: 4 A=reshape(a,3,3) a= -4-3-2-101234 A= -4-12 -303 -214 f)MATLAB下矩阵的运算 加减运算 加、减(A+B,A-B)或plus(A,b),minus(A,B) 示例: a=[12;34];b=[35;59] 》c=a+bd=a-b 》c=d= 47-2-3 813-2-5 》a*b=[1323;2951] 除法运算 左除: a\b运算等效于求a*x=b的解; x=a-1b或x=mldivide(a,b);左边作为除数; 右除: a/b运算等效于求x*b=a的解。 ; x=ba-1或x=mrdivide(a,b);右边作为除数; 一般A\B≠B/A g)数组/矩阵翻转函数 B=rot90(A) 矩阵逆时针旋转90° B=shiftdim(X,n) 矩阵的元素移位 B=flipud(A) 矩阵上下翻转 U=triu(X) 得到矩阵的上三角矩阵 B=fliplr(A) 矩阵左右翻转 L=tril(X) 得到矩阵的下三角矩阵 B=flipdim(A,dim) 矩阵的某维元素翻转 示例: A= -4-12 -303 -214 A.' ans= -4-3-2 -101 234 flipud(A)%上下 ans= -214 -303 -4-12 fliplr(A)%左右 ans= 2-1-4 30-3 41-2 rot90(A) ans= 234 -101 -4-3-2 h)四则运算与幂运算 》a=[12;34];b=[35;59] 》a*b=[1323;2951] 》a/b=[-0.500.50;3.50–1.50] 》a\b=[-1-1;23] 》a^3=[3754;81118] 》a.*b=[310;1536] 》a./b=[0.330.40;0.600.44] 》a.\b=[3.002.50;1.672.25] 》a.^3=[18;2764] -只有维数相同的矩阵才能进行加减运算。 -a\b运算等效于求a*x=b的解;而a/b等效于求x*b=a的解。 只有方阵才可以求幂。 -点运算是两个维数相同矩阵对应元素之间的运算,在有的教材中也定义为数组运算。 i)数组乘方(.^)——元素对元素的幂 示例: a=[123];b=[456]; z=a.^2 z= 1.004.009.00 z=a.^b z= 1.0032.00729.00 j)矩阵的其它运算 inv——矩阵求逆 det——行列式的值 eig——矩阵的特征值 diag——对角矩阵 A’、A.’——矩阵转置 sqrt——矩阵开方 取整 floor(A)---取不足整数 ceil(A)----取过剩整数 round(A)---四舍五入 fix(A)------按0近方向取整 取余 rem(A,x)---A矩阵除以模数x后的余数 其他变换函数 [n,m]=rat(A): 有理数近似 mod(A,k)、rem(A,k): 求模与余数 gcd(n,m)、lcm(n,m): 最大公约数、最小公倍数 示例: 【例】找出数组中所有绝对值大于3的元素。 A=zeros(2,5); A(: )=-4: 5 L=abs(A)>3 islogical(L)%returnstrueifLisalogicalarrayandfalseotherwise X=A(L) A= -4-2024 -3-1135 L= 10001 00001 ans= 1 X= -4 4 5 G. 注意: 在处理逻辑运算时,运算元只有两个值即0和1,所以如果指定的数为0,MATLAB认为其为0,而任何数不等于0,则认为是1。 0—不成立1—成立 示例: 设有: A=[5-40-0.5]B=[0109] &与 A&B=[0101]A&1=[1101] |或 A|B=[1101]A|1=[1111] ~非 ~A=[0010]~1=0 8.符号变量,生成符号对象的基本规则,创建 ①什么是符号运算? 与数值运算的区别 数值运算中必须先对变量赋值,然后才能参与运算。 符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。 特点: 运算对象可以是没赋值的符号变量 可以获得任意精度的解 ②符号变量与符号表达式 f='sin(x)+5x' f——符号变量名 sin(x)+5x——符号表达式 ''——符号标识 符号表达式一定要用''单引号括起来matlab才能识别。 ③生成符号对象 a)sym函数 sym函数的主要功能是创建符号变量,以便进行符号运算,也可以用于创建符号表达式或符号矩阵。 用sym函数创建符号变量的一般格式为: x=sym(‘x’) 其目的是将’x’创建为符号变量,以x作为输出变量名。 每次调用该函数,可以定义一个符号变量。 示例: 求方程的解析解。 解: a=sym('a');%定义‘a’为符号运算量,输出变量名为a b=sym('b'); x=sym('x'); y=sym('y'); [x,y]=solve(a*x-b*y-1,a*x+b*y-5,x,y)%以a,b为符号常数,x,y为符号变量 即可得到方程组的解: x=3/a y=2/b syms函数 示例: f=xn g=sin(at+b) 中的系统默认变量。 symsabntx%定义符号变量 f=x^n;%给定符号函数 g=sin(a*t+b); findsym(f,1)%在f函数中查询1个系统默认变量 ans=x 表示f函数中查询的1个系统默认变量为x ④符号矩阵的创建 数值矩阵A=[1,2;3,4] A=[a,b;c,d]——不识别 用matlab函数sym创建矩阵(symbolic的缩写) 命令格式: A=sym('[]') ※符号矩阵内容同数值矩阵 ※需用sym指令定义 ※需用''标识 示例: A=sym('[a,2*b;3*a,0]') A= [a,2*b] [3*a,0] 这就完成了一个符号矩阵的创建。 注意: 符号矩阵的每一行的两端都有方括号,这是与matlab数值矩阵的一个重要区别。 9.①MATLAB绘图函数,多图绘制,图区选择 A.二维绘图 1.plot——最基本的二维图形指令 函数格式: plot(x,y)其中x和y为坐标向量 函数功能: 以向量x、y为轴,绘制曲线。 示例: 在区间0≤X≤2p内,绘制正弦曲线Y=SIN(X),其程序为: x=0: pi/100: 2*pi; y=sin(x); plot(x,y) B.二维绘图一般步骤 数据准备 选定图形窗入子图位置 调用(高层)绘图指令 设置轴的范围与刻度、坐标分格线 图形注释 图形的精细修饰(图柄操作) 打印 C.多图绘制 a)输入多对参数 调用格式为: plot(x1,y1,x2,y2,…,xn,yn) 当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。 每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。 示例: x1=linspace(0,2*pi,100); x2=linspace(0,3*pi,100); x3=linspace(0,4*pi,100); y1=sin(x1); y2=1+sin(x2); y3=2+sin(x3); x=[x1;x2;x3]'; y=[y1;y2;y3]'; plot(x,y,x1,y1-1) b)通过图形保持 holdon/off命令控制是保持原有图形还是刷新原有图形,不带参数的hold命令在两种状态之间进行切换。 示例: y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5); plot(t,y3);holdon;plot(t,y4);plot(t,y5); c)通过图区分割 subplot(m,n,p)——子图分割命令 m-行n-列p-图形序号(从左到右,由上至下) 示例: t=-pi: 0.3: pi;y=1./(1+exp(-t)); subplot(221),plot(t,y);title('plot(t,y)') subplot(222),stem(t,y);title('stem(t,y)') subplot(223),semilogy(t,y);title('semilogy(t,y)') subplot(224),stairs(t,y);title('stairs(t,y)') d)多窗口绘制函数"figure" figure(n)——创建窗口函数,n为窗口顺序号。 示例: t=0: pi/100: 2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y)%——自动出现第一个窗口 figure (2) plot(t,y1)%——在第二窗口绘图 figure(3) plot(t,y2)%——在第三窗口绘图 ②二维、三维网格、曲面,符号函数绘曲线图,曲面图,相空间曲线 这一栏目需要掌握曲线,曲面,网格的绘制.重点放在作业上。 A.符号函数绘曲线图(隐函数绘图) 函数 说明 函数 说明 ezplot(fun,[min,max]) 二维曲线 ezsurf(fun,domain) 曲面图 ezplot3(funx,funy,funz,[tmin,tmax]) 三维曲线 ezsurfc(fun,domain) 画带等位线的曲面图 ezpolar(fun,[a,b]) 极坐标 ezmesh(fun,domain) 画网线图 ezcontourf(fun,domain) 填色 等位图 ezmeshc(fun,domain) 画带等位线的网线图 ezcontour(fun,domain) 等高线 示例: subplot(2,2,1); ezplot('x^2+y^2-9');axisequal subplot(2,2,2); ezplot('x^3+y^3-5*x*y+1/5') subplot(2,2,3); ezplot('cos(tan(pi*x))',[0,1]) subplot(2,2,4); ezplot('8*cos(t)','4*sqrt (2)*sin(t)',[0,2*pi]) B.三维绘图 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 复习 整理