收藏 分享(赏)

matlab新手入门简介.ppt

上传人:精品资料 文档编号:11335538 上传时间:2020-03-18 格式:PPT 页数:64 大小:1.13MB
下载 相关 举报
matlab新手入门简介.ppt_第1页
第1页 / 共64页
matlab新手入门简介.ppt_第2页
第2页 / 共64页
matlab新手入门简介.ppt_第3页
第3页 / 共64页
matlab新手入门简介.ppt_第4页
第4页 / 共64页
matlab新手入门简介.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

1、MATLAB入门简介,直观灵活的语言 数值计算功能 符号运算功能 开放性、可扩展性强 绘图功能 丰富的工具箱 Simulink 动态仿真集成环境,MATLAB 特点和功能,Matlab = Matrix Laboratry 矩阵实验室,Matlab是以矩阵为单位进行数据处理。,Matlab 的工作界面,命令窗口,当前工作目录,当前工作空间,输入命令的历史记录,命令 提示符,主要内容,矩阵及MATLAB常用运算 MATLAB绘图功能 MATLAB程序设计 数据导入 实例分析,矩阵及MATLAB常用运算,pi : 圆周率 ,inf,Inf :无穷大,如:1/0,nan,NaN :Not-a-Num

2、ber,一个不定值,如 0/0,eps :浮点运算相对精度,特殊变量 ans,i,j :虚部单位,即,系统预定义变量,系统预定义的变量,MATLAB语言中,定义变量时应避免与常量名重复,以防改变这些常量的值, 如果已改变了某外常量的值,可以通过 “ clear 常量名 ” 命令恢复该常量 的初始设定值(当然,也可通过 重新启动MATLAB 系统来恢复这些常量值)。,Matlab 变量的命名规则,Matlab 变量,以字母开头 后面可以跟 字母、数字 和 下划线长度不超过 63 个字符(6.5 版本以前为 19 个)区分字母的 大小 写,Matlab 语句的通常形式,变量 = 表达式,查看已定义

3、的变量,who 显示工作空间中的所有变量whos 显示变量的详细属性,Matlab 数值运算,复数,z=3+4i,数与算术表达式,数学运算符,+ - * / 右除 左除 , (12+2*(7-4)/(32), y=x3-x(1/4)+2.15*sin(3*x),直接输入法,矩阵元素必须在“ ” 内同行元素间用 空格 或 逗号 分隔行与行之间用 分号 或 回车符 分开矩阵大小不用预先定义,例: A = 1 2 3; 4 5 6; 7 8 9,矩阵的创建,Matlab 的操作对象 矩阵,冒号操作符,格式:e1:e2:e3 注:e1初始值,e2步长,e3终止值 e1:e3 注: 默认e2=1,例:

4、A = 0:2:10% A = 0 2 4 6 8 10,矩阵的创建,linspace(a,b,n),将 a到b进行n-1等分,n缺省时,默认为100,例: A = linspace(0,1,5)% A = 0 0.2500 0.5000 0.7500 1.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 (

5、 : ) 的区别,(4) 删除矩阵的行列:,A =, A ( 3, : )=, A ( :, 2,4 )=,双下标引用: A ( i , j ) 第i行第j列元素 单下标引用: A ( i ) 注:按列排列,二维看成一维,A ( : ) A中所有元素按列排成一列,1 2 3 4 5 6 7 8 9,MATLAB 矩阵运算,矩阵的转置:共轭 A,矩阵的翻转和旋转: fliplr、flipud、rot90,矩阵元素重组: reshape (A, m, n),查看矩阵的大小:size(A),将 A 排成一个m n 的矩阵,满足 m n = #A,数组运算(点运算):.* ./ . .,矩阵算术: +

6、 - * / ,!凡是带.的操作都是对矩阵中元素的操作,矩阵基本运算,矩阵的加减:,矩阵的乘法,矩阵与标量相加减:对矩阵的每一个元素都加减标量矩阵与矩阵相加减: 相同的维数;对应分量进行运算,矩阵与标量相乘:对矩阵的每一个元素都乘以标量矩阵与矩阵相乘:A*B A的列数等于B的行数,矩阵基本运算,矩阵的除法:/、 右除和左除,若 A 可逆方阵,则,AB inv(A)*B,B/A B*inv(A),X=AB A*X=B X=B/A X*A=B,通常,矩阵除法可以理解为,解线性方程组Ax=B 6x1+3x2+4x3=3 -2 x1+5 x2+7 x3=-4 8 x1-4 x2-3 x3=-7 A=6

7、 3 4; -2 5 7; 8 -4 -3 B=3;-4; -7 X=AB,A = 6 3 4-2 5 78 -4 -3 B = 3-4-7 X = 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=7 7 77 7 7 D=6 35 24 1 E=28 1073 28 F=54 G=0.51

8、85 -0.1852-1.3519 0.5185,(1) 求转置矩阵a=10,2,12;34,2,4;98,34,6;aans =10 34 982 2 3412 4 6(2) 矩阵求逆 inv(a) ans =-0.0116 0.0372 -0.00150.0176 -0.1047 0.03450.0901 -0.0135 -0.0045,(3) 矩阵的特征值 u,v=eig(a) u =-0.2960 0.3635 -0.3600-0.2925 -0.4128 0.7886-0.9093 -0.8352 0.4985 v =48.8395 0 00 -19.8451 00 0 -10.99

9、43,矩阵的逻辑运算,运算符 & (与) |(或) (非) 结果是一个0-1矩阵。当逻辑表达式的值为真时,赋值1,否则为0 逻辑函数 all :当某列的元素都为真时,返回值为1,否则返回0。最终运算结果为一个0-1行向量 any :当向量中至少有一个元素为真时,返回值为1,否则返回0。最终运算结果为一个0-1行向量 find:用于查找向量中的真元素的下标,返回由所有真元素下标构成的列向量。,矩阵的比较关系,在MATLAB里共有六个关系运算符大于 =大于等于= = 等于 =不等于关系运算符将生成一个0-1矩阵,当运算数相应元素为真时,对应位置上生成1,否则为0。,MATLAB的三角函数,三角函数

10、,MATLAB的基本数学函数,基本数学函数,取整函数与矩阵相关函数,取整函数,矩阵相关函数,常用MATLAB系统命令,help 在线帮助 lookfor 模糊查询 load, save 资料存取 (.mat) clc 清屏幕 clear 清除所有变量 close all 关闭所有图形 Who 内存变量列表 Whos 内存变量详细信息 What 按扩展名分类列出当前目录上的文件,Matlab 的命令记忆功能:上下箭头键,命令补全功能: Tab 键,可以先输入命令的前几个字符,再按上下键缩小搜索范围,用 Esc 键 删除命令行,Ctrl + C 可中断程序执行,辅助键,标点,: 具有多种应用功能

11、. 小数点及域访问符;区分行,取消运行显示等 续行符,区分列,函数参数分隔符 % 注释标记( ) 指定运算先后次序 ! 调用操作系统运算 矩阵定义标志 赋值标记 用于构成单元数组 字符串标示符,MATLAB 符号运算,一符号对象 1. 建立符号变量 sym 函数 格式:符号量名=sym(符号字符串) 说明:用来建立单个符号量;符号字符串可以是常量、变量、函数或表达式。,a=sym(a); b=sym(b);%定义符号变量 x=2; y=3; u=ax+by v=xx+yy,syms命令 格式: syms arg1 arg2 argn 说明:一次可以定义多个符号变量。,以空格隔开,2建立符号表达

12、式,利用单引号生成符号表达式y=1/sqrt(2*x),用sym函数建立符号表达式U=sym(3*x2-5*y+2*x*y+6) 不需定义变量,使用已定义的符号变量组成符号表达式,syms x y; 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*x subs(y,x,3),syms x y f=x2+y2 subs(f,x,5) subs(f,

13、x y,2 3),符号表达式操作,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) %提取分子分母,syms a b x y; A=a3-b3; factor(A) %对A进行因式分解 s=(-7*x2-8*y2)*(-x2+3*y2) exp

14、and(s) %对s展开 collect(s,x) %对s按变量x合并同类项,syms x y a s=log(2*x/y); simplify(s) %简化 s=(x2+y2)2+(x2-y2)2 simple(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,常用符号运算功能的实现,syms x y=sin(x)/x;limit(y)limi

15、t(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次求导,syms a xy=a*x2;A=diff(y,x)B=diff(y,a)C=diff(y,x,2)D=diff(y,a,2),2. 导数,syms xy=xA=int(y,x)B=int(y,x,1,3),syms x y I=int(int(x2*exp(-y2),x,0,y),y,0,1),3. 积分,syms a n S=symsum

16、(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;,syms x f1=sin(x);f2=exp(x); taylor(f1) taylor(f2,8,1),解方程,syms x; 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=27

17、 eq2 = x+z=3 eq3 = x2+3*y2=28 s = solve(eq1,eq2,eq3) s.x s.y s.z,y = dsolve(eq1,eq2, . ,cond1,cond2, . ,v),y 为输出, eq1、eq2、.为微分方程, cond1、cond2、.为初值条件, v 为自变量。,只有很少一部分微分方程(组)能求出解析解。 大部分微分方程(组)只能利用数值方法求数值解。,7.符号常微分方程的求解,dsolve 的使用,如果省略初值条件,则表示求通解;,如果省略自变量,则默认自变量为 t,dsolve(Dy=2*x,x); dy/dx = 2x dsolve(D

18、y=2*x); dy/dt = 2x,若找不到解析解,则返回其积分形式。,微分方程中用 D 表示对 自变量 的导数,如:,Dy y; D2y y; D3y y,例 :求微分方程 的通解。,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图形绘制功能,plot,基本用法 plot(x,y,s) 参数x为横轴变量,y为纵轴变量, s控制图形的基本特征如颜

19、色、线型等,可省略。,x=linspace(0,2*pi,100); y=sin(x); plot(x,y); plot(x,y,g*); plot(x,sin(x),b.,x,cos(x),r); title(sin(x) cos(x); xlabel(x); ylabel(y); legend(sin,cos);,其它2-D图形绘制参考: help窗口help NavigatorDemosMATLABGraphics2-D plots,生产图像的保存 系统默认.fig 也可以存储成其它格式,%subplot 图像排版 x=0:0.1*pi:2*pi; subplot(1,2,1); plo

20、t(x,sin(x); subplot(1,2,2); plot(x,cos(x);,三维曲线 plot3,t=0:0.1:20; y=sin(t); z=cos(t); plot3(t,y,z, .-) grid on,plot3(x,y,z,s) x,y,z 是相同类型的向量,且长度相等。,例:三维螺线 y=sin(x),z=cos(x), 0x20,MATLAB 程序设计,Matlab 程序设计介绍,Matlab 是一种科学计算语言,但同时也具有和 C、 FORTRAN 等高级语言相类似的语言特征,能方便地实现程序控制。利用 Matlab 的程序控制功能,可以将有关Matlab 命令编成

21、程序存储在一个文件中(M文件),然后运行该文件,Matlab 就会自动依次执行文件中的命令,直到全部命令执行完毕。,在 Matlab 程序设计中,要充分利用 Matlab 数据结构的特点,提供编程效率。,M文件创建file 菜单 new m-file 或 工具栏-新建 edit M文件有两类 独立的m文件 称命令文件(脚本文件)可调用m文件 称函数文件 (1) 命令文件 没有输入输出参数 与在命令窗口逐行执行文件中的所有指令,其结果是一样的。 (2) 函数文件 需要输入变量,返回输出变量matlab用户自定义函数,用 Matlab 语言编写的程序称为 M文件,以“.m”为扩展名,M文件,特定规

22、则: 有多个输入变量时,各变量用逗号隔开; 输出形参多用一个时,用 括起来;m文件保存时,文件名必须是 和函数名同名。程序中的变量均为局部变量,变量只在函数运行期间有效,不保存在工作空间中。(全局变量用global定义,且定义变量建议大写),function y=f(x1,x2)y=x12+x22;,function 输出形参表=函数名(输入形参表)%注释说明语句段程序语句段,function x y=test(m,n)x=m+n;y=m-n;,函数M文件的格式,函数调用,常见的函数调用形式为: out1 out2 =函数名(in1,in2,) 一个函数可以嵌套,也可以调用其它的函数,甚至调用

23、自己(也就是递归调用)。,function y=f(x1,x2)y=x12+x22;,function x y=test(m,n)x=f(m)+f(n);y=f(m)-f(n);,z=f(3,5),m n=test(2,3) m n=test(f(2),f(3),f.m,test.m,if语句 1. if 表达式commandsend 2. if 表达式commands1elsecommands2end,3. if 表达式1commands1 elseif 表达式2commands2 elseif elsecommands end,matlab的程序结构,顺序结构、选择结构、循环结构,for循

24、环 一般形式 for x=arraycommands end,matlab的程序结构,sum=0;for i=1:100sum=sum+i;endsum,while循环 一般形式 while 表达式commonds end,sum=0;i=1;while i=100sum=sum+i;i=i+1;endsum,% 函数文件 fac.m function f=fac(n) if (n=1)f=1; elsef=n*fac(n-1); end,% 命令文件 %1!+2!+n! s=0; n=input(input n:); for i=1:ns=s+fac(i); end s,例:利用函数的递归调

25、用计算 n!,允许循环嵌套,break,continue 只要有矩阵形式可以解决的问题,不要使用for循环。tic/toc :计时,注意:,i=1; for t=0:0.01:100 i=i+1; y(i)=sin(t); end,t=0:0.01:100 y=sin(t);,MATLAB 数据导入,数据的导入,FileImport Data 在对话框中选择要打开的文件名,MATLAB可识别的文件类型有:.mat .avi .xls .tif .bmp .jpg .txt .dat等等,选中要打开的文件,然后单击open也可从剪切板(Clipboard)获得数据源 (指定分隔符)Comma(逗

26、号) Space Semicolon(分号) Tab Other 单击Finish完成数据的导入; 导入的数据以矩阵的形式出现在工作空间中。,loadmat文件是matlab以标准二进制格式保存的数据文件,可将工作空间中有用的数据变量保存下来;mat文件的生成和调用是由函数save和load完成; save(filename):将工作区中的所有变量保存为文件,文件名由filename指定 默认路径为当前路径。filename缺省时,文件名默认为 matlab.mat,MAT文件可以通过load函数再次导入工作区,save( filename) load filename,save load,数据的导入,MATLAB 实例分析,MATLAB的数据分析函数库 基本的数据分析例如,10个学生的身高及3门课程分数列表如下: data= 154 49 83 67;158 99 81 75;155 100 68 86;145 63 75 96;145 63 75 96;141 55 65 75; 155 56 64 85;147 89 87 77;147 96 54 100;145 60 76 67,一些数据处理命令的结果,大学生数学建模2009A题,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报