MATLAB重点归纳.docx
- 文档编号:26225098
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:24
- 大小:126.01KB
MATLAB重点归纳.docx
《MATLAB重点归纳.docx》由会员分享,可在线阅读,更多相关《MATLAB重点归纳.docx(24页珍藏版)》请在冰豆网上搜索。
MATLAB重点归纳
MATLAB重点归纳
第1章MATLABR2010a环境
1、工作空间窗口、命令窗口、历史命令窗口、开始按钮
2、>>所在行可输入命令;没有>>所在行显示结果
3、MATLAB常用标点符号得功能(9页)
4、cd设置当前目录。
eg:
要设置当前目录为“C:
\MYDIR”:
>>cdC:
\MYDIR
save变量1变量2…参数%将变量保存到文件中
5、save%将变量保存到文件中
saveab%将变量a,b保存到文件中
saveab–append%将变量a,b添加到文件中
6、load变量1变量2…%从数据文件中取出变量存放到工作空间
load%把文件中得全部变量装入内存
loadab%把文件中得a,b变量装入内存
7、who查阅MATLAB内存变量名
8、whos查阅MATLAB内存变量变量名、大小、类型与字节数
9、clear删除工作空间中得变量
10、i=exist(‘X’)查询工作空间中就是否存在‘X’变量
i=1表示存在一个变量名为‘X’得变量
i=2表示存在一个名为‘X、m’得文件
i=3表示存在一个名为‘X、mex’得文件
i=4表示存在一个名为‘X、mdl’得文件
i=5表示存在一个变量名为‘X’得内部函数
i=0表示不存在以上变量与文件
11、path%列出MATLAB得搜索路径
Path(path,’C:
\MYDIR’)%在MATLAB得搜索路径得末尾添加新目录C:
\MYDIR惡澮鼹岂蒔忾闯。
12、what列出当前目录下得M、MAT、MEX文件清单
13、dir%列出当前目录下得文件与子目录清单
dir目录名%列出指定目录下得文件与子目录清单
14、type文件名%显示指定M文件得内容
Typeabs、m%显示abs、m文件得注释内容
15、which%指出M、MAT、MEX文件、工作空间变量、内置函数或Simulink模型所在目录蹒荥达湯轅鉞詮。
16、matlabroot%返回安装MATLAB得根目录
第2章MATLAB数值计算
1、各种整数数据类型得范围与类型转换函数表(30页)
2、>>a=5;
>>b=0;
>>c=67;
>>u1=uint8(a)%转换成无符号整型
u1=
5
>>s1=char(c)%转换成字符型为字母C
s1=
C
>>li=logical(b)%转化成逻辑型为false
li=
0
3、MATLAB中用i,j表示叙述得单位
Z=a+b*i或z=r*exp(i*θ)
a=real(z)%计算实部
a=image(z)%计算虚部
a=abs(z)%计算幅值
4、变量得命名规则:
1)变量名区分字母得大小写;
2)变量名不能超过63个字符;
3)变量名必须以字母开头,组成可以就是任意字母、数字或者下划线;
4)关键字不能作为变量名
5、特殊变量(33页)
6、矩阵输入:
矩阵元素用[]括住,行内用逗号或空格隔开,行与行用分号或回车隔开
7、通过语句生成矩阵
1)from:
step:
tofrom:
to
From,step,to分别表示开始值、步长与结束值。
Step省略时默认为1。
当step<0而from 岁倆榮疮岗颃饼。 >>x=3: -1: 0 x= 3210 2)使用linspace与logspace函数生成向量 Linspace就是用来生成线性等分向量,直接给出元素得个数从而得出各个元素得值 linspace(a,b,n)3个参数分别表示开始值,结束值与元素个数,生成a,b之间线性分布得n个元素得行向量,n如果省略则默认值就是100、搂颈犊產閬軛鈮。 logspace用来生成对数等分向量logspace(a,b,n)生成从 到 之间按对数等分得n个元素得行向量,n如果省略则默认50饴禄谑将聵噲礡。 >>x1=linspace(0,2*pi,5) x1= 01、57083、14164、71246、2832 >>x2=logspace(0,2,3) x2= 110100 3)由函数产生特殊矩阵 函数名 功能 例子 输入 结果 Zeros(m,n) 产生m*n得全0矩阵 Zeros(2,3) 000 000 Ones(m,n) 产生m*n得全1矩阵 ones(2,3) 111 111 rand(m,n) 产生均匀分布得随机矩阵, 元素取值范围为0、0~1、0 rand(2,3) 0、81470、12700、6324 0、90580、91340、0975 randn(m,n) 产生正态分布得随机矩阵 randn(2,3) -0、43363、5784-1、3499 0、34262、76943、0349 Magic(N) 产生N阶魔方矩阵(矩阵 得行、列与对角线上得 元素得与相等) Magic(3) 816 357 492 eye(m,n) 产生m*n得单位矩阵 Eye(3) 100 010 001 true(m,n) false(m,n) 产生m*n得逻辑矩阵, 全为ture 产生m*n得逻辑矩阵, 全为false True(3) 111 111 111 当zeros,ones,rand,randn,eye函数中只有一个参数n时,则为n*n得方阵 >>t=true(3) t= 111 111 111 >>t(1: 2,3)=false(2,1)%1,2行得第2列改为false t= 110 110 111 8、矩阵得下标 1)全下标方式 A=[1,2;3,4;5,6]A(1,2)=2A(1,2)=7A=[1,7;3,4;5,6]關鄆協額肅绅蝾。 2)单下标方式: 把矩阵得所有列按照先左后右得次序连接成“一维长列”,然后对元素位置进行编号,m*n矩阵得单下标s=(j-1)/8m+i谕軍絛縭閏緯苈。 9、子矩阵块得产生方式 1)全下标方式: (以3*3矩阵为例) a([1,3],[2,3])表示取行数为1,3,列数为2,3得元素构成子矩阵 a(1: 3,2: 3)取行数1~3,列数2~3得元素构成子矩阵 a(: ;3)取所有得行数,列数为3得元素构成子矩阵 a=(1: 3,end)表示取行数1~3,列数为3得元素构成矩阵,end表示某一位数中得最大值,即3 2)用单下标方式: a([1,3;2,6])表示取单下标为1,3,2,6得元素构成子矩阵 3)逻辑矩阵: a(l1,l2)表示子矩阵时,l1,l2为逻辑向量,l1,l2得元素为0则不取该位置元素,反之则取该位置元素。 飢穩焕鳳羡鸛锇。 >>a=[1,2,3;4,5,6;7,8,9]; >>l1=logical([101]); >>l2=logical([110]); >>a(l1,l2) ans= 12 78 10、矩阵得赋值: 全下标方式,单下标方式,全元素方式 eg: 全元素方式: >>a=[12;34;56] a= 12 34 56 >>b=[123;456] b= 123 456 >>a(: )=b%按单下标方式给a赋值 a= 15 43 26 11、矩阵元素得删除操作: 赋值为空矩阵[] A(: 3)删除1列元素;a (1)=[],按单下标方式删除1个元素,则矩阵变为行向量 12、生成大矩阵[a;a] 13、矩阵与数组运算a=[123;456;789] 函数名 功能 det(X) 计算方阵行列式 rank(X) 求矩阵得秩,得出行列式不为0得最大方阵边长 inv(X) 求矩阵得逆,当方阵X得dit(X)不等于0,逆阵才存在,相乘为单位矩阵 diag(X) 产生X矩阵得对角阵 13、矩阵得翻转(常用矩阵翻转得函数功能)a=[120;040;569] 函数名 功能 例子 输入 结果 triu(X) 产生X矩阵得上三角矩阵,其余元素补0 triu(a) 120 040 009 tril(X) 产生X矩阵得下三角矩阵,其余元素补0 tril(a) 100 040 569 flipud(X) 使矩阵X沿水平轴上下翻转 flipud(a) 569 040 120 fliplr(X) 使矩阵X沿垂直轴左右翻转 fliplr(a) 021 040 965 15、矩阵与数组得算术运算 X=A\B表示方程A*X=B得解 X=A/B表示方程X*A=B得解 数组得乘法为、*除法运算有、\与、/,表示数组相应元素相乘除 矩阵乘方A^B,数组乘方A、^B 16、矩阵与数组得转置 A’表示矩阵A得转置,若A为复数矩阵,则为共轭转置 A、’表示数组A得转置,如果数组A为复数数组,则不就是共轭转置 17、数组得基本函数 函数名 含义 函数名 含义 abs 绝对值或者复数模 Mod 模除求余 Sqrt 平方根 exp 自然指数 Real 实部 Log 自然对数 Imag 虚部 Log10 以10为底得对数 conj 复数共轭 18、矩阵与数组运算得对比表(52页) 19、关系操作与逻辑操作 1)MATLAB常用得关系操作符有<,<=,>,>=,==,~=(不等于) ①如果用来比较得2个变量都就是标量,则结果为真 (1)或假(0) ②如果用来比较得都就是数组,则大小必须相同,结果也就是同样大小得数组,数组得元素为0或1 ③如果用来比较得就是1个数组与1个标量,则把数组得每个元素分别于标量比较,结果为同样大小相同得数组,数组得元素为0或1攝訛謝搖針輞襉。 ④关系操作符<,<=,>,>=仅对参加比较得变量得实部进行比较,而,==,~=可同时对实部与虚部进行比较颮国僂鳟類岘莶。 2)逻辑运算与&或|非~异或xor ①非0元素表示真 (1),0元素表示假(0),逻辑运算得结果为0或1 ②如果用来逻辑运算得2个变量都就是标量,则结果为0、1得标量 ③如果用来逻辑运算得2个变量都就是数组,则必须大小相同,结果为同样大小相同得数组 ④先决与&&,先决或|| 20、常用得关系逻辑函数(54页) 21、在MATLAB中各种运算符得优先级: '(矩阵转置)、^(矩阵幂)与、'(数组转置)、、^(数组幂) ~(逻辑非) *(乘)、/(左除)、\(右除)与、*(点乘)、、/(点左除)、、\(点右除) +、-(加减) : (冒号) <、<=、>、>=、~= &(逻辑与) |(逻辑或) &&(先决与) ||(先决或) 22、矩阵得大小size(a) 返回行数或列数得最大值length(p)等价于max(size(p)) 23、多项式 1)多项式p1(x)=x3+21x2+20x可以表示为: p1=[121200]%常数项为0,按幂得降序排列。 最后一个元素一定就是表示常数项,闞鎰洶绑辍箧麦。 如果无常数项,则应该令该元素为0 2)多项式求值polyval(p,s)计算多项式在给定变量时得值。 说明: p为多项式,s为给定矩阵。 p1=[121200]; polyval(p1,2)%计算x=2时多项式得值 x=0: 0、5: 3; polyval(p1,x)%计算x为向量时多项式得值 3)多项式求根r=roots(p)p为多项式,r为计算得多项式得根,以列向量形式保存 P=poly(r)根据多项式得根计算多项式得系数 4)特征多项式P=poly(s)s必须就是方阵,p为特征多项式 5)部分分式展开[r,p,k]=residue(b,a) 6)多项式得乘法与除法 多项式乘法p=conv(pl,p2),p就是多项式p1与p2得乘积多项式。 多项式除法,[q,r]=deconv(pl,p2): 多项式p1被p2除得商为多项式q,余子式就是r讲岂俁扩经迈鈞。 7)多项式得微分与积分 p=polyder(p1): 多项式p1得微分为多项式p。 没有专门积分函数,可以用[p、/length(p): -1: 1,k]得方法来完成积分,k为常数 例: 求多项式得微分与积分。 p1=[121200] p4=polyder(p1)%多项式微分 s=length(p4): -1: 1 p1=[p4、/s,0]%多项式积分,常数k=0 8)多项式得拟合与插值 插值运算: 根据数据点得规律,找到一个多项式表达式可以连接两个点,插并得出相邻数据点之间得数值。 ①一维插值 yi=interp1(x,y,xi,’method’): 一维插值就是指对一个自变量得插值,interp1函数就是用来进行一维插值得。 说明: x、y为行向量;xi就是插值范围内任意点得x坐标,yi则就是插值运算后得对应y坐标;method就是插值函数得类型,“linear”为线性插值(默认),“nearest”为用最接近得相邻点插值,“spline”为三次样条插值,“cubic”为三次插值。 ? ? ? ? ? ? 亏無赝脚鲸帻獭。 24、数据分析 1)原则 ①如果输入得就是向量,则按整个向量进行运算 ②如果输入得就是矩阵,则按列进行运算 2)MATLAB数据统计分析函数(75页)注意max(x)与max(x(: ))得差别? ? ? ? ? ? 3)常用得差分与积分函数(76页) 4)卷积与快速傅里叶变换 conv(x,y)计算向量得卷积(若x就是输入信号,y就是线性系统得脉冲过渡函数,则X,Y得卷积为系统得输出信号)宾瀟绣囵筚虑籁。 [q,r]=deconv(x,y)解卷积运算x=conv(y,q)+r MATLAB软件得序列下标从1开始而不就是0 X=fft(x,N)对离散序列进行离散傅里叶变换 X=ifft(x,N)对离散序列进行离散傅里叶逆变换 x可以就是向量,矩阵,多维数组,N为输入变量x得序列长度,可省略。 如果x得长度小于N,则会自动补零;如果x得长度大于N,则会自动截断;当N取2得整数幂时,傅立叶变换得计算速度最快。 一般情况下,fft求出得函数为复数,可用abs及angle分别求其幅值与相位。 涣剎鳗饼选鶩髅。 第3章MATLAB符号计算 1、创建符号常量sym(‘常量’) sym(常量,参数)%把常量按某种格式转换为符号常量 参数可选为‘d’(十进制)、‘f’(浮点)、‘e’(带有机器浮点误差得有理值)或‘r’(最接近得有理数值)四种格式,也可省略(默认为'r')。 榮铄瞒龍蛎韋應。 2、MATLAB得数学计算: 包括数值计算与符号计算 数值计算: 不允许使用未赋值得变量 符号计算: 可以使用未赋值得符号变量进行运算 3、创建数值常量与符号常量 >>a=sym('sin (2)')%创建符号常量,注意与>>a=sin (2)得区别箨讨联輾掳襖销。 a=sin (2) >>a1=2*sqrt(5)+pi%创建数值常量 a1=7、6137 >>a2=sym('2*sqrt(5)+pi')%创建符号常量 a2=2*sqrt(5)+pi >>a4=sym(2*sqrt(5)+pi,'d')%按最接近得十进制浮点数表示符号常量 a4=7、637272610 >>a5='2*sqrt(5)+pi'%字符串常量,注意与第3条命令得执行结果比较篓鎩慟緹幣哙瘡。 a5=2*sqrt(5)+pi 4、创建符号变量sym(‘变量’,参数)%把变量定义位符号对象 参数用来限定符号变量得数学特性: ‘positive’表示为正、实符号变量,‘real’为实符号变量,‘unreal’为非实符号变量 5、创建符号表达式sym(‘表达式’) 6、创建多个符号变量与符号表达式 Syms(‘arg1’,’arg2’,…,参数) Symsarg2arg2…,参数 7、创建符号矩阵 >>A=sym('[a,b;c,d]')>>symsabcd饜玮诚稳匱钢时。 A=>>A=[a,b;c,d] [a,b]A= [c,d][a,b] [c,d] 8、符号表达式得代数运算 1)算术与关系运算符 (1)算术运算符 “+”,“-”,“*”,“\”,“/”,“^”分别实现符号矩阵得运算。 “、*”,“、/”,“、\”,“、^”分别实现符号数组得运算。 “′”,“、′”分别实现符号矩阵得共轭转置、非共轭转置。 (2)关系运算符 在符号对象得比较中,没有“大于”、“大于等于”、“小于”、“小于等于”得概念,而只有就是否“等于”得概念(“==”、“~=”),为真时,用1表示;为假时,用0表示齠蕪綾缁麽鶯儼。 2)、函数运算 (1)三角(反三角)函数与双曲函数 sin、cos、tan asin、acos、atan sinh、cosh、tanh (2)指数与对数函数 sqrt、exp、expm 自然对数log(表示ln),无log2与log10 (3)复数函数 conj、real、imag、abs 无angle函数 (4)矩阵代数命令 diag,triu,tril,inv,det,rank,poly,eig 9、符号表达式中自由变量得确定(重要) 1)小写字母i,j不能作为自由变量 2)符号表达式中如果有多个符号变量,则按照: 首先选择x作为自由变量;如果没有x则选择在字母顺序中最接近x得字符变量;如果与x相等距离,则在x后面得优先邮綏闺飭鑭無擇。 3)大写字母比所有小写字母都靠后 10、确定自由符号变量: symvar(EXPR) 自动确定符号表达式中得自由符号变量findsym(EXPR、n) EXPR可以就是符号表达式或符号矩阵;n为按顺序得出符号变量得个数。 当n省略时,则不按顺序得出EXPR中所有得符号变量。 詬愛繡岿鱗脛齬。 >>f=sym('5*v^u-3*w+Y+z') >>findsym(f)%得出所有得符号变量,不按次序 ans=Y,u,v,w,z >>findsym(f,5)%得出所有得符号变量,不按次序 ans=w,z,v,u,Y 11、符号表达式得化简(91页) 1)多项式形式 2)因式形式 3)嵌套形式 多项式化简函数表pretty、collect、expand、horner、factor 函数名 变换前 变换后 备注 pretty x^3-6*x^2+11*x*-6 32 x-6x+11x-6 给出排版形式得输出结果 collect (x-1)*(x-2)*(x-3) x^3-6*x^2+11*x*-6 表示为合并同类项多项式,当有多个符号变量,可指定按某个符号变量来合并,否则按默认得自由变量进行 expand (x-1)*(x-2)*(x-3) x^3-6*x^2+11*x*-6 表示为多项式形式,多项式展开形式 horner x^3-6*x^2+11*x*-6 x*(11*y+x*(x-6))-6 表示为嵌套形式 factor x^3-6*x^2+11*x*-6 (x-3)*(x-1)*(x-2) 表示为因式连乘得形式 collect(f1,’y’)按y变量来变换 simplify函数: 化简函数,对三角函数、对数函数、幂函数等特别有效 >>y=sym('cos(x)^2-sin(x)^2') y= cos(x)^2-sin(x)^2 >>simplify(y) ans= cos(2*x) simple函数: 寻求包含最少数目字符得表达式简化形式 12、符号极限 [记住每一个函数表示什么] >>f=sym('1/x') f= 1/x >>limit(f) ans= NaN%当左右极限不相等时,表达式得极限不存在,为NaN >>limit(f,'x',0,'left') ans= -Inf 用极限方法也可以求函数得倒数 13、符号微分 diff(f)%求f对默认自由变量得一阶微分 diff(f,t)%求f对指定符号变量t得一阶微分 diff(f,n)%求f对默认自由变量得n阶微分 diff(f,t,n)%求f对指定符号变量t得n阶微分 eg: >>f=sym('a*x^2+b*x+c') f= a*x^2+b*x+c >>diff(f)%对默认自由变量x求一阶微分 ans= b+2*a*x >>diff(f,'a')%对符号变量a求一阶微分 ans= x^2 >>diff(f,'x',2)%对符号变量x求二阶微分 ans= 2*a >>diff(f,3)%对默认自由变量x求三阶微分 ans= 0 diff用于符号矩阵时,其结果就是对矩阵得每一个元素进行微分计算 eg: symstxy g=[2*yt^2;t*sin(y)exp(x)]%创建符号矩阵 diff(g)%对默认自由变量求一阶微分 diff(g,'t')%对符号变量t求一阶微分 diff(g,'y') diff(g,2)%对默认自由变量求二阶微分 可以使用diff计算向量间元素得差值 eg: >>x1=0: 0、5: 2; >>y1=sin(x1) y1= 00、47940、84150、99750、9093 >>diff(y1) ans= 0、47940、36200、1560-0、0882 计算出得差值比原来得向量少一列 14、符号积分 int(f,’t’)%求符号变量t得不定积分 int(f,’t’,a,b)%求符号变量t得积分 int(f,’t’,’m’,’n’)%求符号变量t得积分 说明: t为符号变量,当t省略则为默认自由变量;a与b为数值,[a,b]为积分区间;m与n为符号对象,? ? ? ? [m,n]为积分区间;与符号微分相比,符号积分复杂得多。 炼叁餒统訥餡薺。 因为函数得积分有时可能不存在,即使存在,也可能限于很多条件,MATLAB无法顺利得出。 当MATLAB不能找到积分时,将给出警告提示。 侥锼摄氌嘔锆縟。 15、符号方程得求解 1)代数方程 solve(‘eq’,’v’)%求方程关于指定变量得解 solve(‘eq1’,’eq2’,’v1’,’v2’,…)%求方程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 重点 归纳