matlab新手入门简介.ppt
《matlab新手入门简介.ppt》由会员分享,可在线阅读,更多相关《matlab新手入门简介.ppt(64页珍藏版)》请在冰豆网上搜索。
MATLAB入门简介,直观灵活的语言数值计算功能符号运算功能开放性、可扩展性强绘图功能丰富的工具箱Simulink动态仿真集成环境,MATLAB特点和功能,Matlab=MatrixLaboratry矩阵实验室,Matlab是以矩阵为单位进行数据处理。
Matlab的工作界面,命令窗口,当前工作目录,当前工作空间,输入命令的历史记录,命令提示符,主要内容,矩阵及MATLAB常用运算MATLAB绘图功能MATLAB程序设计数据导入实例分析,矩阵及MATLAB常用运算,i:
圆周率,inf,Inf:
无穷大,如:
1/0,nan,NaN:
Not-a-Number,一个不定值,如0/0,eps:
浮点运算相对精度,特殊变量ans,i,j:
虚部单位,即,系统预定义变量,系统预定义的变量,MATLAB语言中,定义变量时应避免与常量名重复,以防改变这些常量的值,如果已改变了某外常量的值,可以通过“clear常量名”命令恢复该常量的初始设定值(当然,也可通过重新启动MATLAB系统来恢复这些常量值)。
Matlab变量的命名规则,Matlab变量,以字母开头后面可以跟字母、数字和下划线长度不超过63个字符(6.5版本以前为19个)区分字母的大小写,Matlab语句的通常形式,变量=表达式,查看已定义的变量,who显示工作空间中的所有变量whos显示变量的详细属性,Matlab数值运算,复数,z=3+4i,数与算术表达式,数学运算符,+-*/右除左除,(12+2*(7-4)/(32),y=x3-x(1/4)+2.15*sin(3*x),直接输入法,矩阵元素必须在“”内同行元素间用空格或逗号分隔行与行之间用分号或回车符分开矩阵大小不用预先定义,例:
A=123;456;789,矩阵的创建,Matlab的操作对象矩阵,冒号操作符,格式:
e1:
e2:
e3注:
e1初始值,e2步长,e3终止值e1:
e3注:
默认e2=1,例:
A=0:
2:
10%A=0246810,矩阵的创建,linspace(a,b,n),将a到b进行n-1等分,n缺省时,默认为100,例:
A=linspace(0,1,5)%A=00.25000.50000.75001.0000,常见矩阵生成函数,矩阵元素的操作,矩阵元素的提取,=?
=?
(1)单个元素:
A(2,3)A(6),
(2)整行或整列:
A(2,:
),A(:
3),(3)子矩阵:
A(2:
5,4:
8),A(1,3,2,4),A(3,2,2,4),注:
A(:
:
)与A(:
)的区别,(4)删除矩阵的行列:
A=,A(3,:
)=,A(:
2,4)=,双下标引用:
A(i,j)第i行第j列元素单下标引用:
A(i)注:
按列排列,二维看成一维,A(:
)A中所有元素按列排成一列,123456789,MATLAB矩阵运算,矩阵的转置:
共轭A,矩阵的翻转和旋转:
fliplr、flipud、rot90,矩阵元素重组:
reshape(A,m,n),查看矩阵的大小:
size(A),将A排成一个mn的矩阵,满足mn=#A,数组运算(点运算):
.*./.,矩阵算术:
+-*/,!
凡是带.的操作都是对矩阵中元素的操作,矩阵基本运算,矩阵的加减:
矩阵的乘法,矩阵与标量相加减:
对矩阵的每一个元素都加减标量矩阵与矩阵相加减:
相同的维数;对应分量进行运算,矩阵与标量相乘:
对矩阵的每一个元素都乘以标量矩阵与矩阵相乘:
A*BA的列数等于B的行数,矩阵基本运算,矩阵的除法:
/、右除和左除,若A可逆方阵,则,ABinv(A)*B,B/AB*inv(A),X=ABA*X=BX=B/AX*A=B,通常,矩阵除法可以理解为,解线性方程组Ax=B6x1+3x2+4x3=3-2x1+5x2+7x3=-48x1-4x2-3x3=-7A=634;-257;8-4-3B=3;-4;-7X=AB,A=634-2578-4-3B=3-4-7X=0.60007.0000-5.4000,例1矩阵的基本运算。
A=1,2,3;4,5,6;B=6,5,4;3,2,1;C=A+B%计算两个矩阵的和D=B%计算矩阵B的转置E=A*D%做矩阵乘法,必须要满足%矩阵乘法的基本要求%E应该是2阶方阵F=det(E)%求E的行列式值G=E(-1)%求E的逆,输出结果:
C=777777D=635241E=28107328F=54G=0.5185-0.1852-1.35190.5185,
(1)求转置矩阵a=10,2,12;34,2,4;98,34,6;aans=10349822341246
(2)矩阵求逆inv(a)ans=-0.01160.0372-0.00150.0176-0.10470.03450.0901-0.0135-0.0045,(3)矩阵的特征值u,v=eig(a)u=-0.29600.3635-0.3600-0.2925-0.41280.7886-0.9093-0.83520.4985v=48.8395000-19.8451000-10.9943,矩阵的逻辑运算,运算符&(与)|(或)(非)结果是一个0-1矩阵。
当逻辑表达式的值为真时,赋值1,否则为0逻辑函数all:
当某列的元素都为真时,返回值为1,否则返回0。
最终运算结果为一个0-1行向量any:
当向量中至少有一个元素为真时,返回值为1,否则返回0。
最终运算结果为一个0-1行向量find:
用于查找向量中的真元素的下标,返回由所有真元素下标构成的列向量。
矩阵的比较关系,在MATLAB里共有六个关系运算符大于=大于等于=等于=不等于关系运算符将生成一个0-1矩阵,当运算数相应元素为真时,对应位置上生成1,否则为0。
MATLAB的三角函数,三角函数,MATLAB的基本数学函数,基本数学函数,取整函数与矩阵相关函数,取整函数,矩阵相关函数,常用MATLAB系统命令,help在线帮助lookfor模糊查询load,save资料存取(.mat)clc清屏幕clear清除所有变量closeall关闭所有图形Who内存变量列表Whos内存变量详细信息What按扩展名分类列出当前目录上的文件,Matlab的命令记忆功能:
上下箭头键,命令补全功能:
Tab键,可以先输入命令的前几个字符,再按上下键缩小搜索范围,用Esc键删除命令行,Ctrl+C可中断程序执行,辅助键,标点,:
具有多种应用功能.小数点及域访问符;区分行,取消运行显示等续行符,区分列,函数参数分隔符%注释标记()指定运算先后次序!
调用操作系统运算矩阵定义标志赋值标记用于构成单元数组字符串标示符,MATLAB符号运算,一符号对象1.建立符号变量sym函数格式:
符号量名=sym(符号字符串)说明:
用来建立单个符号量;符号字符串可以是常量、变量、函数或表达式。
a=sym(a);b=sym(b);%定义符号变量x=2;y=3;u=ax+byv=xx+yy,syms命令格式:
symsarg1arg2argn说明:
一次可以定义多个符号变量。
以空格隔开,2建立符号表达式,利用单引号生成符号表达式y=1/sqrt(2*x),用sym函数建立符号表达式U=sym(3*x2-5*y+2*x*y+6)不需定义变量,使用已定义的符号变量组成符号表达式,symsxy;V=3*x2-5*y+2*x*y+6,findsym(s),subs(f):
用当前工作空间中存在的变量值,替换f中所有出现的相同的变量,并进行简化计算。
subs(f,x,a):
用a替换f中的x;a是可以是数/数值变量/表达式或符号变量/表达式。
subs:
符号替换,y=2*xsubs(y,x,3),symsxyf=x2+y2subs(f,x,5)subs(f,xy,23),符号表达式操作,n,d=numden(s)提取符号表达式s的分子和分母,分别存入n和d中factor(s),对符号表达式s进行分解因式expand(s),对s进行展开collect(s,v),对s按变量v合并同类项。
simplify(s),应用函数规则对s进行化简simple(s),调用Matlab的其他函数对表达式进行综合化简,并显示化简过程。
f=sym(a*x2/(b+x)n,d=numden(f)%提取分子分母,symsabxy;A=a3-b3;factor(A)%对A进行因式分解s=(-7*x2-8*y2)*(-x2+3*y2)expand(s)%对s展开collect(s,x)%对s按变量x合并同类项,symsxyas=log(2*x/y);simplify(s)%简化s=(x2+y2)2+(x2-y2)2simple(s)%自动调用多种函数对s进行化简,并显示每步结果,举例,极限limit(f,x,a)导数diff(f,v)积分int(f,v,a,b)级数求和symsum(f,v,a,b)泰勒级数展开式taylor(f,n,x,a)符号代数方程求解solve符号微分方程求解dsolve,常用符号运算功能的实现,symsxy=sin(x)/x;limit(y)limit(y,x,0)limit(sin(x)/x,x,inf),1.极限,diff(f):
计算f关于默认自变量的导数,diff(f,v):
计算f关于变量v的导数,diff(f,n),diff(f,v,n),diff(f,n,v):
n次求导,symsaxy=a*x2;A=diff(y,x)B=diff(y,a)C=diff(y,x,2)D=diff(y,a,2),2.导数,symsxy=xA=int(y,x)B=int(y,x,1,3),symsxyI=int(int(x2*exp(-y2),x,0,y),y,0,1),3.积分,symsanS=symsum(1/an,n,1,inf)subs(S,2),4.级数求和,5.一元函数的泰勒级数展开,taylor(f,n,x,a),功能:
符号函数f在x=a处的n-1阶泰勒展开式,其中x为待展开的符号变量;n的缺省值为n=6;a的缺省值为a=0;,symsxf1=sin(x);f2=exp(x);taylor(f1)taylor(f2,8,1),解方程,symsx;f=x2-1;s=solve(f,x),s=solve(x3-3*x+1=0,x),s=solve(x3-3*x+1,x),6.符号代数方程的求解,例:
解方程组,eq1=x+2*y-z=27eq2=x+z=3eq3=x2+3*y2=28s=solve(eq1,eq2,eq3)s.xs.ys.z,y=dsolve(eq1,eq2,.,cond1,cond2,.,v),y为输出,eq1、eq2、.为微分方程,cond1、cond2、.为初值条件,v为自变量。
只有很少一部分微分方程(组)能求出解析解。
大部分微分方程(组)只能利用数值方法求数值解。
7.符号常微分方程的求解,dsolve的使用,如果省略初值条件,则表示求通解;,如果省略自变量,则默认自变量为t,dsolve(Dy=2*x,x);dy/dx=2xdsolve(Dy=2*x);dy/dt=2x,若找不到解析解,则返回其积分形式。
微分方程中用D表示对自变量的导数,如:
Dyy;D2yy;D3yy,例:
求微分方程的通解。
eq1=Dy+2*x*y=x*exp(-x2)y=dsolve(eq1,x),例:
求微分方程在初值条件下的特解。
eq1=x*Dy+y-exp(x)=0cond1=y
(1)=2*exp
(1)y=dsolve(eq1,cond1,x),MATLAB绘图功能,MatLab