Matlab简介

合集下载

MATLAB简介

MATLAB简介

logspace 对数等分的行矢量
Logspace(x1,x2,n)生成从10x1到10x2包含n 个数据的矢量 >> logspace(1,3,3) >> magic(3) ans = ans = 10 100 1000 8 1 6 >> cell(3) 3 5 7 >> eye(3) ans = 4 9 2 ans = [] [] [] 1 0 0 Magic(n)为元素1到n^2 [] [] [] 0 1 0 之间,行、列、对角线 [] [] [] 0 0 1 的和都相等的n维矩阵
例1:
0 5 cos 47 例2:计算表达式的值 并将结果赋给变量x 1 7 2i
4、表达式从左至右、指数最先,乘除加减、括号提前。
>>6+4*3^2 ans = >> x=(5+cos(47*pi/180))/(1+sqrt(7)-2i) 42
例9:演示内带程序 >>ballode %自由下落小球与地面非弹性碰撞的运动轨迹 >>demo %演示Matlab的基本功能
2、数据格式:
① 10的幂为e加上正负数字: 1.062e-20 6.022e23 ② 数字后直接加 i 或 j表示虚数 :-3.14i 5+3i
3、算符
算术运算算符: + - * / ^ ( ) sqrt( ) 关系运算算符:<、>、 <=、 ==、 >=、 ~= 逻辑运算算符:与 &、或│、非 ~
例3:输入10个学生的成绩并对成绩按升序排序。 在指令窗口输入命令: g=input('请输入学生成绩:') sort(g) 请输入学生成绩: [65 78 96 98 91 84 79 83 74 81]

Matlab简介

Matlab简介

p = 3.1484 p = 3.1396
当n提高到50000时, 重复计算4次,计算结果: p = 3.1396 p = 3.1431
p = 3.1296 p = 3.1421
三、绘图功能
3.1 二维图形 plot(y)、 ezplot是绘制二维图形常用的命令 例 画出函数 y sin x 在-5 x 5的图形。
Matlab软件简介 哈尔滨理工大学 数学建模组
Matlab是数学建模常用软件之一,也是 在各个专业领域,特别是在工程实际领域 应用最广泛的计算软件,并已成为一个通 用的计算工具。
一、Matlab概述

1.1 Matlab的发展 Matlab语言是由美国的Clever Moler博 士于1980年开发的。
计算符号表达式F在x→a下的极限。 例2.计算 lim (3x 5) 1
x
x3 sin(
x
2
)
>> syms x; >> f=('(3*x-5)/(x^3*sin(1/x^2))'); >> limit(f,x,inf)
ans=3
3. 符号微分
diff(S)

求符号表达式S的微分 (即求一元导数)
1.3 Matlab语言的特点:





语言简洁紧凑,语法限制不严,程序设计 自由度大,可移植性好 运算符、库函数丰富 图形功能强大 界面友好、编程效率高 扩展性强

它将一个优秀软件的易用性与可靠性、通用 性与专业性 、一般目的的应用与高深的科学 技术应用有机地相结合。

Matlab是一种直译式的高级语言,比其它程 序设计语言容易。

Matlab简介

Matlab简介

MATLAB简介MATLAB是一个集数值计算、符号分析、图象显示、文字处理于一体的大型集成化软件.它最初由美国的Cleve Moler博士所研制.其目的是为线性代数等课程中的矩阵运算提供一种方便可行的实验手段.经过十几年的市场竞争和发展,MATLAB已发展成为在自动控制、生物医学工程、信号分析处理、语言处理、图像信号处理、雷达工程、统计分析、计算机技术、金融界和数学界等各行各业中都有极其广泛应用的数学软件.归纳起来,MATLAB具有以下几个特点:易学、适用范围广、功能强、开放性强、网络资源丰富.由于MATLAB的强大功能,它能使使用者从繁重的计算工作中解脱出来,把精力集中于研究、设计以及基本理论的理解上,所以,MATLAB已成为在校大学生、硕士生、博士生所热衷的基本数学软件.在此,我们把MATLAB作为学习数学的工具介绍给读者,希望能有利于读者今后的学习.一MATLAB的运行启动MATLAB点击MATLAB图标,进入到MATLAB命令窗(MATLAB Command Window).在命令窗内,可以输入命令、编程、进行计算.学会使用help命令在命令窗内输入help命令,再敲回车键.在屏幕上出现了在线帮助总览.(注意:MATLAB命令被输入后,必需敲回车键才能执行.为行文方便,以后不再每次提醒“敲回车键”.)学会使用help命令,是学习MATLAB的有效方法.例如:要想知道MATLAB中的基本数学函数有哪些,可以在总览的第五行查到:MATLAB中的“基本数学函数”用elfun表示,于是,可进一步键入:“help elfun”,屏幕上将出现“基本数学函数”表.(注意:help elfun之间有空格,以后不再每次提醒.)如果想了解sin函数怎样使用,可进一步键入help sin.在工具栏中点击help按扭,或点击?号按扭,与上面获取帮助信息的方法是等效的.学会使用demo命令在命令窗内输入demo命令,再敲回车,键屏幕上将出现演示窗口.(MATLAB Demo Window)一共有三个窗口,左边的窗口显示欲演示内容的大标题,选定其中一项,右下方的小窗口显示欲演示的具体内容,选中其中一栏,再点击run按扭,屏幕上将演示选定的演示程序.右上方的窗口显示关于大标题的一些说明.在命令窗内输入type (文件名),将显示演示程序的M文件,仔细研究演示程序的M文件,是学习MATLAB的又一有效方法.进入演示窗还有另一方法:在工具栏中点击Help栏,下拉式菜单中点击examples and demos项,即可进入演示窗口.退出在工具栏中点击File按钮,在下拉式菜单中单击Exit MATLAB项即可.二变量、语句、矩阵与函数1.变量在MATLAB 中,变量由字母、数和下划线组成.第一个字符必须是字母.一个变量最多由31个字符组成,并区分大小写.下面是MATLAB 中表示特殊量的字符:pi (圆周率)、eps (最小浮点数)、Inf (正无穷大)、NaN (表示0/0或inf-inf 等不定值)、i,j (虚数单位)2.语句MATLAB 语句的一般形式为:变量=表达式.当某一语句的输入完成后,按回车键,计算机就执行该命令.如果该语句末没输入其它符号或输入了逗号,将显示结果;如果句末输入了分号,将不显示结果.如果语句中省略了变量和等号,那么计算机将结果赋值给变量ans .3.矩阵把m ×n 个数排成m 行n 列的数表,此数表被称为m 行n 列的矩阵,记为⎪⎪⎪⎭⎫ ⎝⎛=⨯mn m n n m a a a a A 1111MATLAB 中矩阵的输入方法如下:A=[a 11,…,a 1n ;…;a m1,…,a mn ].逗号是数之间的分隔符(也可用空格代替);分号是换行符.3.函数MATLAB 提供了大量的函数.可以通过help 查询.例如sqrt (开方)、log (常用对数)、log 10(以10为底的对数)、sin (正弦)等.这些函数都遵循下列规则:对于⎪⎪⎪⎭⎫ ⎝⎛=mn m n a a a a A 1111经过函数f 后得:⎪⎪⎪⎭⎫ ⎝⎛=)()()()()(1111mn m n a f a f a f a f A f例:我们要计算sin 6π,可键入:y=sin(pi/6)得 y =0.5000如果我们键入:x=[0,pi/6,pi/3,pi/2,2*pi/3,5*pi/6,pi];y=sin(x),得y = 0 0.5000 0.8660 1.0000 0.8660 0.5000 0.0000这里,对于x 有更简洁的输入方法:x=0:pi/6:pi ,此命令表示x 从0开始,以pi /6为步长变到pi 为止.如果我们键入:x=[0,pi/6;pi/3,pi/2];y=sin(x) 得y = 0 0.50000.8660 1.0000其它的函数的用法与此类似.三绘图绘制二维图形绘制二维图形的基本命令是plot(x,y).其中x、y是1×n阶矩阵.也可以用格式plot(x1,y1,x2,y2,…)把多条曲线画在同一坐标系下.在这种格式中,每个二元对x-y的意义都与plot(x,y)的相同,每个二元对x-y的结构也必须符合plot(x,y)的要求.但二元对之间没有约束关系.以上三种格式中的x、y都可以是表达式,但表达式的运算结果必须符合上述格式要求.MATLAB的图形功能还提供了一组开关命令.关于颜色和线形用下面的方法进行控制.plot(x,'r*') 表示用红色*号画线, plot(x,y,'b+')表示用蓝色+号画线,plot(x1,y1,'y-',x2,y2,'g:')表示第一组用黄色实线画线,第二组用绿色点线画线.MATLAB的线型字符有很多,可以随心所欲地把图画得很漂亮.下面几个线型字符大家可以选用:S:小方块;H:六角星;D:钻石形;V:向下三角形;^:向上三角形.MATLAB还提供了图形的加注命令:title题头标注. xlabel x轴标注.ylabel y轴标注. gtext鼠标定位标注.grid 网格.axis([xmin xmax ymin ymax]) []中给出x轴和y轴的最小、最大值如果要把y1=6sin t,y2=6cos t,y3=sin t2-t cos t绘制在一张图上,则可输入如下的命令:t=0:pi/12:2*pi;y1=6*sin(t);y2=6*cos(t);y3=sin(t.^2)-t.*cos(t);plot(t,y1,'r-',t,y2,'bo',t,y3,'k:') %用红线画y1,用蓝圈画y2,用黑虚线画y3.如果还想在图上加一个题头,可继续键入命令:title('曲线比较')注:MATLAB中,%后面的语句起注释作用.特别要注意y3中的运算符号“.^”和“.*”,详情可通过help查阅,或查阅有关MATLAB的参考书.命令polar(theta,rho)或polar(theta,rho,‘s’)绘制极坐标系的二维图形.详情可通过help查阅.绘制三维图形⑴空间曲线的绘制绘制空间曲线的基本命令为:plot3(x,y,z);plot3(x,y,z,'s')或plot3(x1,y1,z1,'s1',x2,y2,z2,'s2',…)其中x,y,z是同维的向量或矩阵.当它们是矩阵时,以它们的列对应元素为空间曲线上点的坐标.s是线形、颜色开关,这一点与二维曲线时的情形相同.⑵曲面的绘制绘制空间曲面的基本命令为mesh(x,y,z).如果x、y是向量,则要求x的长度=矩阵z的列维;y的长度=矩阵z的行维.以z ij为竖坐标,x的第i个分量为横坐标,y的第j个分量为纵坐标绘网格图.如果是同维矩阵,则数据点的坐标分别取自这三个矩阵.meshc(x,y,z) 带等高线的网格图, waterfall(x,y,z)瀑布水线图,surf(x,y,z,'c')可着色的曲面图,surfc(x,y,z)带等高线的可着色的曲面图.以上这些命令都可用来绘制曲面图,用法与mesh完全一样.例如:要想画马鞍面,可输入如下命令:x=-3:1/16:3;y=x;[x,y]=meshgrid(x,y); %(生成绘图时所需的x-y坐标)z=-x.^2+y.^2;mesh(x,y,z) %(或换为surfc(x,y,z) %带等高线的着色图)3.多幅图形的创建有时同一曲面或曲线需要从不同的角度去观察,或用不同的表现方式去表现,这时,为了便于比较,往往在一个窗口内画多幅图形.MATLAB用subplot命令实现这一目的.具体格式为:subplot(m,n,p)使用此命令后,把窗口分为m×n个图形区域,p表示当前区域号.例如把sin x,cos x,atan x,sin x cos y画在一个窗口内,可键入:x=0:pi/6:2*pi;y=x;z1=sin(x);z2=cos(x);z3=atan(x);subplot(2,2,1); plot(x,z1,'r',x,z2,'g')subplot(2,2,2);plot(x,z3,'m')subplot(2,2,3);[x,y]=meshgrid(x,y);z4=sin(x).*cos(y);mesh(x,y,z4);subplot(2,2,4);surfc(x,y,z4)四关系运算和逻辑运算1.关系运算符〈小于〈= 小于等于〉大于〉= 大于等于 = = 等于 ~= 不等于运算法则:如果两个比较量a、b是标量,那么,当a、b之间的关系成立时输出值为1;否则输出值为0.如果两个比较量a、b是相同维数的数组,那么就按标量的运算法则,对a、b的对应元素进行运算,最后的输出结果为一个与a(或b)同维的0—1数组.如果a是标量,b是数组,那么按标量的运算法则将a与b的每个元素逐一比较,最后的输出结果为一个与b同维的0—1数组.在算术运算、关系运算中,算术运算优先.2.逻辑运算符& 与 | 或 ~ 非运算法则:参与逻辑运算的量称为逻辑量,非零逻辑量为“真”,用1表示;零逻辑量为“假”,用0表示.如果参与逻辑运算的两个量a、b都是标量,那么:a&b当a与b全为非零时,运算结果为“1”;否则为“0”a|b a与b中只要有一个非零,运算结果为“1”~a 当a是零时,运算结果为“1”;否则为“0”如果参与逻辑运算的两个量a、b是相同维数的数组,那么就按标量的运算法则,对a、b 的对应元素进行运算,最后的输出结果为一个与a(或b)同维的0—1数组.如果参与逻辑运算的a是标量、b是数组,那么就按标量的运算法则,将a与b的每个元素进行运算,最后的输出结果为一个与b同维的0—1数组.逻辑“非”是一个一元运算符,也服从数组运算规则.在算术、关系、逻辑运算中,算术运算的最优先,其次是关系运算,再其次是逻辑运算.五 MATLAB编程1.控制语句MATLAB也有控制流语句,用于控制程序的流程.主要有for循环、while循环、if和break 三种控制语句.虽然语句很少,但功能很强.ⅰfor循环语句for循环语句的一般表达形式为:for i=表达式可执行语句1……可执行语句nend例:求S=1+2+3+…+50,可编程如下:s=0;for k=1:50s=s+k;endⅱwhile循环while循环语句用来控制一个或一组语句在某逻辑条件下重复预先确定或不确定的次数.while循环语句的一般表达形式为:while表达式循环体语句end例:对于上面同样的问题,可编程如下:S=0; k=0;while k<51S=S+k;k=k+1; % 当条件k〈51时,反复执行语句S=S+k,k=k+1end以上这个例子事先已知循环次数是51,下面再看一个预先不能确定循环次数的例子.例:用迭代法x k+1=e k x k=0,1,2,…求解方程x-e-x=0的根.初始值x0=0.5,相对误差限ε=10-8 ,编程如下:ep=10^(-8);dx=1;x0=0.5;k=0;while dx>epk=k+1;x=exp(-x0);dx=abs(x-x0)/(1+abs(x));x0=x;endⅲif和break语句MATLAB中if和break语句的作用与使用方式同其它编程语言一样,用来将控制流程进行分流与中断退出.例:可以把上面的解方程的例子中的循环语句改写成:x0=0;while(1)k=k+1;x=exp(-x0);dx=abs(x-x0)/(1+abs(x));if dx<=eps break;endx0=x;end程序中while(1)说明循环条件总是真,直到满足dx<=eps条件跳出循环体. ⅳif – else –end分支结构分支结构有三种形式:if 表达式执行语句end如果表达式的值非0,则执行下面的语句.否则执行end后面的语句.if表达式执行语句1else执行语句2endif表达式1执行语句1elseif表达式2执行语句2elseif 表达式3执行语句3……else (此句可以省略)执行语句nend例:对函数⎪⎩⎪⎨⎧≥<<-<=10, x 11-3x 10,x 1 121, x )(x x x f可编如下的程序:if x<1y=x;elseif x>=1&x<10y=2*x-1;elsey=3*x-11;end2. 创建M文件创建M文件是MATLAB中的非常重要的内容.事实上,正是由于在MATLAB 工具箱中存放着大量的M文件,使得MATLAB在应用起来显得简单、方便,且功能强大.如果用户根据自己的需要,开发出适用于自己的M文件,不仅能使MATLAB更加贴近用户自己,而且能使MATLAB的功能得到扩展.M文件有两种形式:命令文件和函数文件当用户要运行的命令较多时,如果直接在命令窗口中逐条输入和运行,有诸多不便.此时可通过编写命令文件来解决这个问题.另外,从前面的许多例子可以看到:MATLAB的许多命令,需要用户通过编写函数文件来执行.ⅰ命令文件的创立进入MATLAB命令窗口后,选择“file”下拉式菜单中的“new”进入编辑/调试器(Editer/Debugger),在编辑/调试器中,编写符合语法规则的命令.编写完命令文件后,选择“file”下拉式菜单中的“save”项,然后依提示输入一个文件名.至此,完成了命令文件的创建.ⅱ函数文件的创立函数文件的创立方法与命令文件的创立方法完全一样,只是函数文件的第一句可执行语句是以function引导的定义语句,并且输入文件名时要与定义语句中的函数名相同.建立了函数文件或命令文件后,只要在命令窗口键入命令文件名或函数名,就可执行M 文件中所包含的所有命令.下面分别创建并运行一个命令文件和一个函数文件,以了解M文件的创建和运行的全过程.计算所有小于1000的Fibonnaci数.命令文件的创建和运行:⑴在MATLAB的命令窗口点击“新建”工具栏或在“file”下拉菜单中选“New”中的“M-file”项,进入编辑/调试器.⑵在编辑/调试器中,输入以下命令:% 计算小于1000的Fibonnaci数f=[1,1];i=1;while f(i)+f(i+1)<1000f(i+2)=f(i)+f(i+1);i=i+1;endf,i⑶在“file”下拉菜单中选“Save”项,依提示输入文件名“fibno”至此,完成了命令文件fibno.m的创建.⑷执行fibno.在MATLAB窗口中输入fibno并敲回车键,计算机依次执行fibno中的各条命令后显示如下的结果:ans =Columns 1 through 121 123 5 8 13 21 34 55 89 144Columns 13 through 16233 377 610 987函数文件的创建和运行:⑴在MATLAB的命令窗口点击“新建”工具栏或在“file”下拉菜单中选“New”中的“M-file”项,进入编辑/调试器.⑵在编辑/调试器中,输入以下命令:function f=ffibno(n)f=[1,1];i=1;while f(i)+f(i+1)<nf(i+2)=f(i)+f(i+1);i=i+1;endf⑶在“ffile”下拉菜单中选“Save”项,依提示输入文件名“ffibno”至此,完成了函数文件ffibno.m的创建.⑷执行ffibno.在MATLAB窗口中输入ffibno(1000)并敲回车键即可.六MATLAB的符号运算前面介绍的内容基本上是MATLAB的数值计算功能,参与运算过程的变量都是被赋了值的数值变量.在MATLAB环境下,符号运算是指参与运算的变量都是符号变量,即使是数字也认为是符号变量. 数值变量和符号变量是不同的.1 符号微积分下面着重介绍一些与微积分有关的指令,这些指令都需要符号表达式作为输入宗量.求和symsum(S) 对通项S 求和,其中k 为变量且从0变到k-1.symsum(S,v) 对通项S 求和,指定其中v 为变量且v 从0变到v-1. symsum(S,a,b) 对通项S 求和,其中k 为变量且从a 变到b .symsum(S,v,a,b) 对通项S 求和,指定其中v 为变量且v 从a 变到b . 例:求∑-=10k i i ,键入k=sym('k') % k 是一个符号变量;symsum(k)得 ans = 1/2*k^2-1/2*k例:求∑=1002k k,键入:symsum(k^2,0,10)得 ans = 385 例:求∑+∞=0!k kk x 键入symsum('x'^k/sym('k!'),k,0,inf),得 ans = exp(x)这最后的一个例子是无穷项求和.求极限limit(P) 表达式P 中自变量趋于零时的极限limit(P,a) 表达式P 中自变量趋于a 时的极限limit(P,x,a,'left') 表达式P 中自变量x 趋于a 时的左极限 limit(P,x,a,'right') 表达式P 中自变量x 趋于a 时的右极限 例:求xx x sin lim 0→,键入 P=sym('sin(x)/x');limit(P)得 ans = 1 例:求xx 1lim 0+→ 键入 P=sym('1/x');limit(P,'x',0,'right')得 ans = inf 例:求hx h x h sin )sin(lim 0-+→,键入: P=sym('(sin(x+h)-sin(x))/h');h=sym('h');limit(P,h,0)得ans = cos(x) 例:求)lim , )1(lim (-x x x x e xa -∞→-∞→+, 键入 v=sym('[(1+a/x)^x,exp(-x)]');limit(v,'x',inf,'left')得 ans = [ exp(a), 0]求导数diff(S,v) 求表达式S 对变量v 的一阶导数.diff(S,v,n) 求表达式S 对变量v 的n 阶导数.例如:设A=⎪⎪⎪⎭⎫ ⎝⎛++21cos 11x e x x b a ,求dx dA 键入命令: syms a b x; A= [1/(1+a),(b+x)/cos(x);1,exp(x^2)];diff(A,'x')得 ans = [0, 1/cos(x)+(b+x)/cos(x)^2*sin(x)][0, 2*x*exp(x^2)]例:求y=sinx+e x 的三阶导数,键入命令:diff('sin(x)+x*exp(x)',3)得 ans = -cos(x)+3*exp(x)+x*exp(x) 例:设⎪⎪⎪⎭⎫ ⎝⎛+=xyi n e xy y x y x A 1sin ,求A 的先对x 再对y 的混合偏导数.可键入命令: S=sym('[x*sin(y),x^n+y;1/x/y,exp(i*x*y)]');dsdxdy=diff(diff(S,'x'),'y')得: dsdxdy = [ cos(y), 0] [ 1/x^2/y^2, i*exp(i*x*y)-y*x*exp(i*x*y)]例:求y=(lnx)x的导数.可键入命令:p='(log(x))^x';p1=diff(p,'x')得:p1 = log(x)^x*(log(log(x))+1/log(x))例:求y=xf(x2)的导数.可键入命令:p='x*f(x^2)';p1=diff(p,'x')得:p1 = f(x^2)+2*x^2*D(f)(x^2)例:求xy=e x+y的导数.可键入命令:p='x*y(x)-exp(x+y(x))';p1=diff(p,'x')得:p1 = y(x)+x*diff(y(x),x)-(1+diff(y(x),x))*exp(x+y(x))再键入p2='y+x*dy-(1+dy)*exp(x+y)=0';dy=solve(p2,'dy')%把dy作为变量解方程得dy= -(y-exp(x+y))/(x-exp(x+y))求Taylor展开式taylor(f,v) f对v的五阶Maclaurin展开.taylor(f,v,n) f对v的n-1阶Maclaurin展开.例:求sinxe-x 的7阶Maclaurin展开.可键入f=sym('sin(x)*exp(-x)');F=taylor(f,8)得F = x-x^2+1/3*x^3-1/30*x^5+1/90*x^6-1/630*x^7例:求sinxe-x 在x=1 处的7阶Taylor展开.可键入f=sym('sin(x)*exp(-x)');F=taylor(f,8,1) 得F = sin(1)*exp(-1)+(-sin(1)*exp(-1)+cos(1)*exp(-1))*(x-1)-cos(1)*exp(-1)*(x-1)^2+(1/3*sin(1)*exp(-1)+1/3*cos(1)*exp(-1))*(x-1)^3-1/6*sin(1)*exp(-1)*(x-1)^4+(1/30*sin(1)*exp(-1)-1/30*cos(1)*exp(-1))*(x-1)^5+1/90*cos(1)*exp(-1)*(x-1)^6+(-1/630*cos(1)*exp(-1)-1/630*sin(1)*exp(-1))*(x-1)^7 多元函数的Taylor展开MATLAB不能直接进行多元函数的Taylor展开.必须先调用MAPLE函数库中的mtaylor命令.方法为:在MATLAB的工作窗口中键入maple('readlib(mtaylor)')mtaylor的格式为mtaylor(f,v,n)f为欲展开的函数式v为变量名.写成向量的形式:[var1=p1,var2=p2,…,varn=pn],展开式将在(p1,p2,…,pn)处进行.如只有变量名,将在0点处展开.n为展开式的阶数(n-1阶).要完成Taylor展开,只需键入maple('mtaylor(f,v,n)')即可.例:在(x0,y0,z0)处将F=sin xyz进行2阶Taylor展开.键入syms x0 y0 z0maple('readlib(mtaylor)');maple('mtaylor(sin(x*y*z),[x=x0,y=y0,z=z0],2)')得:ans = sin(x0*y0*z0)+cos(x0*y0*z0)*y0*z0*(x-x0)+cos(x0*y0*z0)*x0*z0*(y-y0) +cos(x0*y0*z0)*x0*y0*(z-z0)求积分int(P) 对表达式P 进行不定积分.int(P,v) 以v 为积分变量对P 进行不定积分.int(P,v,a,b) 以v 为积分变量,以a 为下限,b 为上限对P 进行定积分. 例:求⎰+-dx x x22)1(2,可键入int('-2*x/(1+x^2)^2')得 ans = 1/(1+x^2) 例:求⎰+dz z x)1(2,可键入键入int('x/(1+z^2)','z')得 ans = atan(z)*x例:求⎰+10)1ln(dx x x ,可键入int('x*log(1+x)',0,1) 得ans = 1/4例:求⎰tt xdx ln sin 2可键入:int('2*x','sin(t)','log(t)') 得:ans = log(t)^2-sin(t)^2对(符号)矩阵积分例:求()⎰⎰dt e dt e at t ,输入int('[exp(t),exp(a*t)]'),得:ans = [ exp(t), 1/a*exp(a*t)]求符号方程的解ⅰ线性方程组的求解线性方程组的形式为A*X=B ;其中A 至少行满秩.X=linsolve(A,B) 输出方程的特解X .例:解方程组⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛11cos sin sin cos X t t t t .键入 A=sym('[cos(t),sin(t);sin(t),cos(t)]');B=sym('[1;1]');c=linsolve(A,B)c =[ 1/(sin(t)+cos(t))][ 1/(sin(t)+cos(t))]ⅱ 代数方程的求解solve(P,v)对方程P 中的指定变量v 求解.v 可省略.solve(p1,P2,…,Pn,v1,v2,…,vn)对方程P1,P2,…Pn 中的指定变量v1, v2…vn 求解.例:解r x p =+sin ,可输入solve('p+sin(x)=r') 得:ans =-asin(p-r)例:解⎩⎨⎧=+-=++034322x x y xy x ,可输入: P1='x^2+x*y+y=3';P2='x^2-4*x+3=0';[x,y]=solve(P1,P2) 得:x = [ 1][ 3]y = [ 1][ -3/2]解⎩⎨⎧=-=++1022v u v u a ,可输入: P1='a+u^2+v^2=0';P2='u-v=1';[u,v]=solve(P1,P2,'u','v') 得:u = [ 1/2+1/2*(-1-2*a)^(1/2)][ 1/2-1/2*(-1-2*a)^(1/2)]v = [ -1/2+1/2*(-1-2*a)^(1/2)][ -1/2-1/2*(-1-2*a)^(1/2)]对于有些无法求出解析解的非线性方程组,MATLAB 只给出一个数值解.这一点可以从表示解的数字不被方括号括住而确定.例:解⎪⎩⎪⎨⎧=-=-+20)sin(2y x ye y x x 键入: [x,y]=solve('sin(x+y)-exp(x)*y=0','x^2-y=2') 得:x = -6.0173272500593065641097297117905y = 34.208227234306296508646214438330由于这两个数字没有被[ ]括住,所以它们是数值解.另外,可利用solve 来解线性方程组的通解.例:解⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛246714922531372X 键入P1='2*x1+7*x2+3*x3+x4=6'; P2='3*x1+5*x2+2*x3+2*x4=4';P3='9*x1+4*x2+x3+7*x4=2';u=solve(P1,P2,P3,'x1','x2','x3','x4')Warning: 3 equations in 4 variables.u = x1: [1x1 sym]x2: [1x1 sym]x3: [1x1 sym]x4: [1x1 sym]可以看到:屏幕提示“有3个方程4个变量”,意为解不唯一(有时会提示解不唯一).且输出的是解的结构形式.为进一步得到解,可输入:u.x1,u.x2,u.x3,u.x4, 得:ans = x1ans = -5*x1-4*x4ans = 11*x1+9*x4+2ans = x4这样就得到了原方程组的通解.⑷ 解符号微分方程解符号微分方程的命令格式为: dsolve('eq1','eq2',…).其中eq 表示相互独立的常微分方程、初始条件或指定的自变量.默认的自变量为t .如果输入的初始条件少于方程的个数,则在输出结果中出现常数c1,c2等字符.关于微分方程的表达式有如下的约定:字母y 表式函数,Dy 表示y 对t 的一阶导数;Dny 表示y 对t 的n 阶导数. 例如:求⎪⎩⎪⎨⎧-==x dtdy ydt dx 的解可键入:[x,y]=dsolve('Dx=y','Dy=-x') 得x =cos(t)*C1+sin(t)*C2y =-sin(t)*C1+cos(t)*C2dsolve 中的输入宗量最多只能有12个,但这并不妨碍解具有多个方程的方程组,因为可以把多个方程或初始条件定义为一个符号变量进行输入.例如求 g f dt df43+= ,g f dt dg34+-= , f(0)=0 , g(0)=1的解.可输入指令: P='Df=3*f+4*g,Dg=-4*f+3*g';v='f(0)=0,g(0)=1';[f,g]=dsolve(P,v)f = exp(3*t)*sin(4*t)g = exp(3*t)*cos(4*t)注意:微分方程表达式中字母D 必须大写. 例如求解微分方程⎪⎩⎪⎨⎧=''='=-=0(0)y 0,(0)y 1,y(0)33y dx yd可输入y=dsolve('D3y=-y','y(0)=1,Dy(0)=0,D2y(0)=0','x') 得:y = (1/3+2/3*exp(1/2*x)*cos(1/2*3^(1/2)*x)*exp(x))/exp(x)最后看一个解非线性微分方程的例子:dsolve('(Dy)^2+y^2=1','y(0)=0','x')ans = [ sin(x)][ -sin(x)]对于无法求出解析解的非线性微分方程,屏幕将提示出错信息.微分方程的数值解及其它问题的数值解ⅰ常微分方程的数值解MATLAB提供了求微分方程数值解的指令:[t,x]=ode23('fname',[t0,tf],x0,tol,trace)[t,x]=ode45('fname',[t0,tf],x0,tol,trace)这两个格式中的输入参数意义完全一样.下面介绍这两个格式的有关内容及各参数的意义.这两个格式都采用Runge--Kutta法求解微分方程的数值解.它们是针对一阶微分方程组设计的.因此,如果待解的是高阶微分方程,那么首先要化成形式为x'=f(t,x)的一阶微分方程组.称为“状态方程”.‘fname’是f(t,x)的函数名.该函数以x'为输出,以t,x为输入变量,注意次序不能颠倒.t0和tf分别是积分的起始值和终止值.x0是初始值,以向量的形式输入.tol是用来控制精度的参数,可缺省.缺省时ode23默认tol=1.e-3;ode45默认tol=1.e-6.trace用来控制是否显示中间结果,可缺省.缺省时,默认trace=0,不显示.输出结果t和x分别是时间向量和相应的状态向量.虽然ode45比ode23的精度高,但它的运算速度更快.例:求著名的Van der pol 方程⎩⎨⎧=--=x yy x y x )1(2,并绘出其解的图形. 第一步:在编辑器中编写名为fname 的M 文件.function X=fname(t,x)X=zeros(2,1);X(1)=(1-x(2)^2)*x(1)-x(2);X(2)=x(1);第二步:将此文件存放于自己的文件夹中听候调用.第三步:在MATLAB 的命令窗口调用这个函数,即键入如下命令:[t,x]=ode45('fname',[0,20],[0,0.5]);plot(t,x)ⅱ 数值积分quad('fname',a,b,tol,trace) Simpson 法求数值积分.quad8('fname',a,b,tol,trace) Newton-Cotes 法求数值积分.fname 是被积函数文件名b,a 分别是积分上下限用tol 来控制积分精度.可缺省.缺省时默认tol=0.001.用trace 来控制是否用图形显示积分过程.可缺省.缺省时默认trace=0,不显示图形.例如:求 ⎰-302x e dx第一步:在编辑器中建立被积函数的M文件.取名为fname即在编辑器中输入:function y=fname(x)y=exp(-x^2);第二步:将此文件存放于自己的文件夹中.第三步:在MATLAB环境下调用fname.即输入s=quad8('fname',0,3)就可以得到结果:s =8862。

MATLAB百科

MATLAB百科

MATLAB目录MATLAB的简介发展历程应用Matlab的优势和特点Matlab常用工具箱常用函数[编辑本段]MATLAB的简介MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLA B和Simulink两大部分。

MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Mapl e并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MAT LAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。

可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

[编辑本段]发展历程20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。

1984年由Little、Moler、St eve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。

到20世纪9 0年代,MATLAB已成为国际控制界的标准计算软件。

版本更新[编辑本段]应用MATLAB 产品族可以用来进行以下各种工作:● 数值分析● 数值和符号计算● 工程与科学绘图● 控制系统的设计与仿真● 数字图像处理● 数字信号处理● 通讯系统设计与仿真● 财务与金融工程MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。

matlab简介

matlab简介

MATLAB简介一.MATLAB的特点MATLAB(Matrix Laboratory)是美国Math Works软件公司于1982年推出的一套用于工程和科学计算的可视化工具软件。

以矩阵运算为基础,把计算、可视化、程序设计融合到了一个简单易用的交互式工作环境中。

在这里可以实现工程计算、算法研究、符号运算、建模和仿真、原型开发、数据分析及可视化、科学和工程绘图、应用程序设计等等功能。

它现在已经成为世界上应用最广泛的工程计算软件。

以下为其几个特色:•功能强的数值运算 - 在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函数可使用,函数的标示自然,使得问题和解答像数学式子一般简单明了,让使用者可全力发挥在解题方面,而非浪费在电脑操作上。

•先进的资料视觉化功能 - MATLAB的物件导向图形架构让使用者可执行视觉数据分,并制作高品质的图形,完成科学性或工程性图文并茂的文章。

•高阶但简单的程式环境 - 做为一种直译式的程式语言,MATLAB容许使用者在短时间内写完程式,所花的时间约为用 FORTRAN 或 C 的几分之一,而且不需要编译(compile)及联结 (link) 即能执行,同时包含了更多及更容易使用的内建功能。

•开放及可延伸的架构 - MATLAB容许使用者接触它大多数的数学原使码,检视运算法,更改现存函数,甚至加入自己的函数使 MATLAB成为使用者所须要的环境。

•丰富的程式工具箱 - MATLAB的程式工具箱融合了套装前软体的优点,与一个灵活的开放但容易操作之环境,这些工具箱提供了使用者在特别应用领域所需之许多函数。

现有工具箱有:符号运算(利用Maple V的计算核心执行)、影像处理、统计分析、讯号处理、神经网路、模拟分析、控制系统、即时控制、系统确认、强建控制、弧线分析、最佳化、模糊逻辑、mu分析及合成、化学计量分析。

MATLAB主要包括主包、Simulink和工具箱三大部分组成。

MATLAB简介

MATLAB简介

3、矩阵运算
基本算术运算 、-( *(乘 /(右除 右除) 左除) +(加)、-(减)、*(乘)、/(右除)、\(左除)、 ^(乘方 乘方) ^(乘方) • 运算是在矩阵意义下进行的,单个数据的算术 运算是在矩阵意义下进行的, 运算只是一种特例。 运算只是一种特例。 • 加减运算允许参与运算的两矩阵之一是标量。 加减运算允许参与运算的两矩阵之一是标量。 标量与矩阵的所有元素分别进行加减操作。 标量与矩阵的所有元素分别进行加减操作。 • 标量可与任何矩阵相乘。 标量可与任何矩阵相乘。
2、函数文件: 函数文件:
在函数文件中,定义了用户所需要的函数, 在函数文件中,定义了用户所需要的函数, 当某些程序使用该函数时即可调用该函数。 当某些程序使用该函数时即可调用该函数。 MATLAB函数文件的组成: MATLAB函数文件的组成: 函数文件的组成 文件第一行: ★文件第一行:函数定义行
常用的矩阵生成函数有: 常用的矩阵生成函数有: eye 产生单位矩阵 产生0 zeros(m,n) 产生0矩阵 ones(m,n) 产生幺矩阵 rand(m,n) 产生0~1间均匀分布的随机矩阵 产生0 产生均值为0 方差为1 randn 产生均值为0,方差为1的标准正 态分布随机矩阵。 态分布随机矩阵。
function[返回参数1 返回参数2 function[返回参数1,返回参数2,……]= 返回参数 ]= 函数名(输入参数1 输入参数2 函数名(输入参数1,输入参数2,……) )
这一行的有无, 这一行的有无,是区分命令文件与函数文件 的重要标志; 的重要标志; 注意: 注意:函数文件保存的文件名应与用户定义 的函数名一致。 的函数名一致。
MATLAB简介 MATLAB简介
Matlab操作基础 一、Matlab操作基础

第1章 MATLAB简介

第1章 MATLAB简介

帮助演示
选择菜单Help中的“Demo”选项。 在帮助导航/浏览器窗口中选择“Demo”面板。 在命令窗口中输入“Demo”命令。
河北科技大学信息学院
27
1.6 SIMULINK简介
1.6.1 Simulink基本知识

Simulink模块库
在命令窗口输入simulink 或者单击工具栏中的 Simulink图标,打开 Simulink模块库窗口。
河北科技大学信息学院
16
MATLAB主窗口

工具栏
工具栏中各项的作用由左到右依次是: 新建一个M文件; 打开一个已有的M文件; 剪切; 复制; 粘贴; 撤销上一步操作; 恢复上一步操作; 打开Simulink仿真器; 打开用户界面设计窗口; 打开MATLAB帮助系统; 设置当前目录
河北科技大学信息学院
河北科技大学信息学院
3
河北科技大学信息学院
4
有用的网址
/products/m
atlab/
/ /
河北科技大学信息学院
5
1.2 MATLAB的特点
友好的工作平台和编程环境
河北科技大学信息学院
30
Logic and Bit Operations:逻辑和位操作模数块组
包含常用的逻辑运算(Logical Operator)和关系运算(Relation Operator)模块, 另外还有检测开区间(Interval Test)、动态检测开区间(Interval Test Dynamic)、组合逻辑(Combinatorial Logic)、与零比较 (Compare to Zero)、与常数比较(Compare to Constant)、 位置位(Bit Set)、位清零(Bit Clear)、逐位操作(Bitwise Operator)、移位运算(Shift Arithmetic)、位提取(Extract Bits)、检测递增(Detect Increase)、检测递减(Detect Decrease)、检测跳变(Detect Change)、检测正上升沿 (Detect Rise Positive)、检测负下降沿(Detect Fall Negative)、检测非负上升沿(Detect Rise Nonnegative)、检 测非负下降沿(Detect Fall Nonnegative)。

MATLAB简介

MATLAB简介

数学软件MATLAB简介MATLAB是美国MathWorks公司于1984年推出的数学软件,它集数值分析、矩阵运算、信号处理和图形显示于一身,构成了一个使用方便、界面友好的用户环境。

在MATLAB窗口下,对于所要求解的问题,用户只需简单地列出数学表达式,其结果便以数值或图形的方式显示出来。

1.MATLAB的发展历程(1)20世纪70年代中期:Cleve Moler博士等人开发了EISPACK(求解特征值)和LINPACK(求解线性方程)的FORTRAN程序库(代表了当时矩阵计算软件的最高水平)。

(2)20世纪70年代后期,Cleve Moler(美国New Mexico大学计算机系主任)给学生讲授线性代数时,为学生编写了使用EISPACK 和LINPACK的接口程序,并以MARLAB来命名(Matrix Laboratory 两个单词的前3个字母组合,即矩阵实验室)。

以后数年中,MARLAB在多所大学里作为教学辅助软件使用,并作为免费软件广为流传。

(3)1983年春天,Cleve Moler到Stanford大学讲学,MATLAB 引起了工程师John Little的极大兴趣,他敏锐地觉察到MATLAB 在工程领域的广阔前景。

同年他和Cleve Moler、Steve Bangert一起,用C语言开发了第二代专业版MATLAB,使之同时具备了数值计算和数据图视化功能。

(4)1984年,Cleve Moler和John Little成立了MathWorks 公司,正式把MATLAB推向市场,并继续进行MATLAB的研究与开发。

1992年MathWorks公司推出MATLAB4.0。

1997年推出MATLAB5.0(真正32位计算)。

2000年推出MATLAB6.0版本,2003年推出MATLAB6.5。

2004年7月,推出MATLAB7.0版本,2007年推出MATLAB7.3。

经过多年的国际竞争,MATLAB已经占据了数值计算软件市场的主导地位,发展成为适合多学科、多种工作平台的功能强劲的大型数学软件。

什么是MATLAB

什么是MATLAB

MATLAB简介MATLAB软件是由美国Mathworks公司推出的用于数值计算和图形处理的科学计算系统环境。

MATLAB是英文MATrix LABoratory(短阵实验室)的缩写。

它的第1版(DoS版本1.0)发行于1984年,经过十几年不断改进,现今已推出它的WINDWS XP版本(2009b版)。

新的版本集中了日常数学处理中的各种功能,包括高效的数值计算、矩阵运算、信号处理和图形生成等功能。

在MATLAB环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。

MATLAB提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵,在生成矩陈对象时,不要求作明确的维数说明。

与利用C语言或FORTRAN语言作数值计算的程序设计相比,利用MATLAB可以节省大量的编程时间。

在工程技术界,MATLAB被用来解决一些实际课题和数学模型问题。

典型的应用包括数值计算、算法预设计与验证,以及一些特殊的短阵计算应用,如自动控制理论、统计、数字信号处理(时间序列分拆)等。

进入了20世纪90年代,MATLAB已经成为国际控制界公认的标准计算软件。

MATLAB因其提供计算、图形、文字处理的统一环境而深受欢迎。

MTALAB系统由五个主要部分组成,下面分别加以介绍。

(1)MATALB语言是高层次的矩阵/数组语言。

具有条件控制、函数调用、数据结构、输入输出、面向对象等程序语言特性。

利用它既可以进行小规模编程,完成算法设计和算法实验的基本任务,也可以进行大规模编程,开发复杂的应用程序。

(2)MATLAB工作环境这是对MATLAB提供给用户使用的管理功能的总称。

包括管理工作空间中的变量据输入输出的方式和方法,以及开发、调试、管理M 文件的各种工具。

(3)MATLAB图形系统的基础,包括完成2D和3D数据图示、图像处理、动画生成、图形显示等功能的高层MATLAB命令,也包括用户对图形图像等对象进行特性控制的低层MATLAB命令,以及开发GUI应用程序的各种工具。

MATLAB 简介

MATLAB 简介

第4章MATLAB简介MATLAB是一门计算机编程语言,取名来源于Matrix Laboratory,本意是专门以矩阵的方式来处理计算机数据,它把数值计算和可视化环境集成到一起,非常直观,而且提供了大量的函数,使其越来越受到人们的喜爱,工具箱越来越多,应用范围也越来越广泛。

MATLAB最突出的特点就是简洁。

MATLAB用更直观的,符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。

MATLAB给用户带来的是最直观,最简洁的程序开发环境。

MATLAB还具有以下特点:(1) 语言简洁紧凑,使用方便灵活,库函数极其丰富。

(2) 运算符丰富。

(3) MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。

(4) 程序限制不严格,程序设计自由度大。

(5) 程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。

(6) MATLAB的图形功能强大。

(7) MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。

由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。

(8) 功能强大的工具箱是MATLAB的另一特色。

(9) 源程序的开放性。

开放性也许是MATLAB最受人们欢迎的特点。

4.1 MATLAB的安装MATLAB的安装非常简单,这里以MATLAB 7.0版本为例。

运行setup后,输入正确的序列号,选择好安装路径和安装的模块,几乎是一直回车就可以了。

这里有一点要注意的是,由于不同操作系统设置,可能会出现一些意外错误,而且越高版本的MATLAB对计算机系统的要求也越高,如6.1版本要求至少64M内存,最好128M。

所以根据自身情况选择适合的版本安装,最好还要在操作系统初安装后就安装,避免出现意外。

4.2 MATLAB的启动运行MATLAB的启动运行:#:\MATLAB7.0\bin\win32\matlab.exe(其中#为安装盘符)。

matlab简介

matlab简介

6
-3
符号的作用
• 分号如果出现在指令后,屏幕上将不显示结果。
• 只要是赋过值的变量,不管是否在屏幕上显示
过,都存储在工作空间中,以后可随时显示或 调用。变量名尽可能不要重复,否则会覆盖 。
• 当一个指令或矩阵太长时,可用…续行。
数值运算-矩阵
生成方法:
通过语句和函数产生矩阵; 在命令窗口中直接输入矩阵(矩阵元素必须用[ ] 括住;矩阵元素必须用逗号或空格分隔;在[ ]内 矩阵的行与行之间必须用分号分隔;矩阵按列向 量来访问) 在M文件中建立矩阵; 从外部的数据文件中导入矩阵。
第一专题计算机作业
1、编写GUI界面
第二专题
Matlab数值运算及符号运算
数值运算—变量
变量名不超过19个字符,区分字母大小写 a=1+2i; b=sin(2)+cos(2)*i; z=complex(x,y); %x,y is real
z=complex(x);
i=10;
工具大大提高工作效率。
GUIDE设计工具
GUIDE设计工具
按钮
滚动条
单选按钮
编辑框 下拉列表 牵牢按钮 面板
复选按钮 静态文本
列表框 坐标盒
部分控件的概念和作用
按钮:通过鼠标点击按钮实现某种行为,并调用相
应的回调子函数;
牵牢按钮:能够产生on或off。点击该按钮将使按
钮外观保持下陷状态,同时调用回调函数。再次点
数值运算-数组运算
数组之间运算时,每个数组必须维数相同的,且 用点乘或点除。 数组与标量的四则运算是指数组中的每个元素与 标量进行加、减、乘、除运算。 数组运算exp,pow2,log,log10,log2,sqrt是 数组中每个元素进行相对应的运算。 数组排序:sort(a,mode), ascend按升序排列, descend按降序排列 。

matlab 26个字母

matlab 26个字母

matlab 26个字母(原创实用版)目录1.MATLAB 简介2.MATLAB 中的 26 个字母3.MATLAB 的应用领域正文1.MATLAB 简介MATLAB 是一种广泛使用的数学软件,它主要用于数据分析、可视化、算法开发和工程模拟等领域。

MATLAB 的全称是 Matrix Laboratory,意为矩阵实验室,这源于它最初的矩阵计算功能。

然而,随着多年的发展,MATLAB 已经发展成为一个功能强大的工具箱,涵盖了众多学科和行业。

2.MATLAB 中的 26 个字母MATLAB 的名字来源于其最初的矩阵计算功能,其中包含了 26 个字母。

这 26 个字母代表了 MATLAB 的基本功能,它们分别是:A - 矩阵B - 矩阵操作C - 循环D - 数据类型E - 指数F - 函数G - 逻辑运算H - 历史记录I - 眼睛J - 积分K - 键盘L - 标签M - 矩阵- 负号O - 输出P - 父函数Q - 求解器R - 矩阵转置S - 符号运算T - 时间U - undertableV - 垂直条W - while 循环X - 未知数Y - 位移Z - 标准化正态分布这 26 个字母代表了 MATLAB 的基本功能,它们为使用者提供了便利的工具,以解决各种科学和工程问题。

3.MATLAB 的应用领域MATLAB 的应用领域非常广泛,它涵盖了诸如数学、物理、化学、生物、工程等多个学科。

以下是一些 MATLAB 常见的应用领域:- 数据分析:MATLAB 可以进行各种数据分析,如统计分析、信号处理、图像处理等。

- 可视化:MATLAB 提供了丰富的可视化工具,可以进行各种数据可视化,如图表、图像等。

- 算法开发:MATLAB 可以用于各种算法的开发和仿真,如机器学习、深度学习等。

- 工程模拟:MATLAB 可以用于各种工程模拟,如电路仿真、机械仿真等。

Matlab简介

Matlab简介

常用函数
eps:浮点相对精度 exp:自然对数的底 i 或j:基本虚数单位 数e
nan或NaN:非数值 inf 或Inf:无限大, (Not a number), 例如1/0 例如0/0,∞/∞
pi:圆周率π
Matlab内部常数
intmax:可表达的最 intmin:可表达的最 lasterr:存放最新的 大正整数。 小负整数。 错误信息
优势特点:
1) 高效的数值计算及符号计算功能,能使用户从繁杂的 数学运算分析中解脱出来; 2) 具有完备的图形处理功能,实现计算结果和编程的可 视化; 3) 友好的用户界面及接近数学表达式的自然化语言,使 学者易于学习和掌握; 4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具 箱等) ,为用户提供了大量方便实用的处理工具。
语言 MATLAB语言是一种高级的基于矩阵/数组的语言,它有程序流控制、
函数、数据结构、输入/输出和面向对象编程等特色。
图形处理系统 图形处理系统使得MATLAB能方便的图形化显示向量和矩阵,而且能对
图形添加标注和打印。它包括强大的二维三维图形函数、图像处理和动
画显示等函数。 应用程序接口 MATLAB应用程序接口(API)是一个使MATLAB语言能与C、Fortran等 其它高级编程语言进行交互的函数库。该函数库的函数通过调用动态链
财务与金融工程
常用工具箱:
MATLAB包括拥有数百个内部函数的主包和三十几种工具包。 工具包又可以分为功能性工具包和学科工具包。功能工具包用 来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时 控制等功能。学科工具包是专业性比较强的工具包,控制工具
包,信号处理工具包,通信工具包等都属于此类。
realmax:系统所能 nargin:函数的输入引 lastwarn:存放最新 表示的最大正实数, 数个数 的警告信息 默认1.7977×10^308

Matlab软件介绍

Matlab软件介绍

龙格库塔方法应用实例之一
采用ode45求解如下方程:
y ' ( y 3t ) / t 2 , 且1 t 4 t0 1, y (t0 ) 2
odefun=@(t,y) (y+3*t)/t^2; %定义函数 tspan=[1 4];%求解区间 y0=-2;%初值 [t,y]=ode45(odefun,tspan,y0); plot(t,y)%作图 title('t^2y''=y+3t,y(1)=-2,1<t<4') legend('t^2y''=y+3t') xlabel('t') ylabel('y')
[x,y]=ode45('myfun02',[0 15],[25 2]); plot(x,y(:,1),'-',x,y(:,2),'*') %画出y(1),y(2)的函数图 legend('y1函数图','y2函数图')
Matlab工具箱扩展(Robotics Toolbox )
安装Robotics Toolbox for MATLAB 1、下载该工具箱 2、将压缩包解压到Toolbox文件夹下
拆分窗口:subplot命令
x=0.1:pi/15:2*pi 拆分窗口绘图实例。在同一窗口作出如下的函数图 y1=exp(x); x y log(x) y sin(x) y cos(x) y e y2=log(x); y3=sin(x); y4=cos(x); subplot(2,2,1); plot(x,y1); title('exp(x)'); subplot(2,2,2); plot(x,y2); title('ln(x)'); subplot(2,2,3); plot(x,y3); title('sin(x)'); subplot(2,2,4); plot(x,y4); title('cos(x)');

matlab简介

matlab简介

1 2 3 建立矩阵 A 5 2 1 ,方法如下: 0 4 7
1 2 3 建立矩阵 A 5 2 1 ,方法如下: 0 4 7 >>clear; A=[1,-2,3;5,2, -1;0,4,7] A= 1 -2 3 5 2 -1 或 0 4 7
limit(f,x,a,'right') 求x从右侧或从左侧趋近a 或limit(f,x,a,'left') 时表达式 f 的极限.
例 求极限 (1) lim (
n
n n n ), (2) lim 1 2 x x

3x
解 MATLAB命令及运行结果为
(1) >> syms n; %定义符号变量 n
解线性方程组 例 判断方程组解的情况,若有无穷多解,求出通解.
x1 x2 4 x3 2 x4 0 x1 x2 x3 2 x4 0 3 x x 7 x 2 x 0 2 3 4 x 1 1 3 x2 12 x3 6 x4 0 解 先判断方程组解的情况. 用rref命令将系数矩阵化
+ (加)、 - (减)、 * (乘)、 / (除)、^ (乘幂)
例 建立变量y并使其值为3,并计算
时x的值,其步骤为
x y y
3
① 用键盘在MATLAB指令窗中输入以下内容 >> y=3; 若表达式后面跟分号,将不显示结果.
>> x=y^3-sqrt(y) ② 按【Enter】键,该指令就被执行.
运行结果为
MATLAB图形功能 基本的绘图命令 例 作函数y(x)=x2sin(x2-x-2), -2 ≤x≤2的图形. 所用命令为

(完整版)Matlab简介

(完整版)Matlab简介

Matlab 简介1980 年,美国CleveMoier 博士在新墨西哥大学讲课时,认为高级语言的运用十分不便,于是创立了Matlab(MatrixLaboratory 的缩写),即矩阵实验室,早期的Matlab 软件是为了帮助老师和学生更好地学习,是作为一个辅助工具而之后逐渐演变成了一种实用性很强的工具。

1984,MathWorks 软件公司推出了一种高级语言。

它不但能编程还能用于数值计算以及图形显示,并用与控制系统以及工程设计。

90年,MathWorks 软件公司为Matlab 开发了一种新的用于图形控制及仿真模型建立的软件Simulink 。

它是Matlab 的一个扩展软件模块,这个模块为用户提供了一个用于建模仿真各种数学物理模型的软件,并且提供各种动态的结构模型,是用户可以快速方便的建模并且仿真,而不必写任何程序。

基于此优点,该工具很快被业界认可,并用于各种控制系统。

Matlab 编程工具不像C 语言那样难以掌握,所以在这种仿真环境下用户只需要简单的列出计算式,结果便会以数值或图形的方式显示出来。

从Matlab 被发明以来,它的快速性集成性、以及应用的方便性在高校中得到了好评。

它可以很方便的进行图形输出输入,同时还具有工具箱函数库,也能针对各个学科领域实现各种计算功能。

另外,Matlab 和其他高级语言也具有良好的接口,可以方便地与其他语言实现混合编程,这都进一步拓宽了它的应用范围和使用领域。

Matlab 由主程序、Simulink 动态仿真系统、和Matlab 工具箱三部分组成。

其中主程序包括Matlab 语言、工作环境以及应用程序;Simulink 动态仿真系统是一个相互交互的系统,用户制作一个模拟系统,并动态控制它;而工具箱就是Matlab 基本语句的各种子程序和函数库。

它有可以分为功能性和学科性工具箱。

功能性的工具箱主要用于扩展Matlab 的符号计算功能、图形建模功能、文字处理功能和与硬件的实时交互过程,如符号计算工具箱等;学科性的工具箱则有较强的专业性,用于解决特定的问题,如信号处理工具箱和通信工具箱。

matlab简介 特点

matlab简介 特点

03
数值计算:MATLAB可以进行高效的数值计算,包括线性代数、数值积分、数 值微分、常微分方程求解等。
MATLAB矩阵运算
绘图功能
MATLAB具有强大的绘 图功能,可以方便地绘 制各种二维和三维图形 ,并且可以自定义图形
的样式和属性。
函数库
MATLAB提供了大量的 内置函数库,包括数学 函数库、科学计算函数 库、信号处理函数库、 图像处理函数库等。
MATLAB应用案例分析
• Matlab 是一种广泛应用于科学计算、算法开发、数据分析、图像处理、视频处理、信号处理、金融建模和分 析等领域的编程语言和开发环境。
THANKS
01
在MATLAB GUI中,事件是指 用户与图形界面交互时发生的 行为。例如,点击按钮,移动 滑动条,选择菜单项等。
02
回调函数是用于处理这些事件 的函数。当特定事件发生时, 回调函数将被执行。
03
通过使用回调函数,MATLAB GUI可以响应用户的输入并执 行相应的操作。
06
MATLAB应用案例分析
数据类型
MATLAB支持多种数据类型,包括数值型、字符型、逻辑型、结构体等。每种数据类型都有其特定的 操作和函数。
MATLAB语言的运算符和函数
运算符
MATLAB支持多种运算符,包括算术运算符(如加、减、乘、除)、比较运算符(如大于、小于、等于)、逻辑 运算符(如与、或、非)等。
函数
MATLAB具有大量的内置函数,这些函数可以对数据进行各种操作,如矩阵运算、绘图、拟合等。用户也可以自 定义函数以满足特定需求。
算法开发
MATLAB支持各种算法开发,包 括信号处理、图像处理、控制系 统等。
数据可视化

MatLab简介

MatLab简介

MatLab 简介MatLab 源于Matrix Laboratory 一词,意为矩阵实验室。

MatLab 软件是一个功能非常强大的科学计算软件。

早期的MatLab 是一个专门为方便调用LINPACK 和EISPACK 软件包而做的界面程序; 最新的MatLab 版本含有科学计算、符号计算、图形处理等功能,可以很方便地处理各类矩阵及多项式运算、线性方程组求解、微分方程数值解、插值拟合、统计和优化等问题,并且可以针对用户提供问题的特点自己选择合适的算法。

MatLab 的数据类型包括: 数、字符串、矩阵、单元型数据和结构型数据。

后两种实际上是复合数据类型,而数和字符串都可以看成为矩阵的特例,因此矩阵数据类型是最有代表性的类型,这也是MatLab 名字的来源。

MatLab 的变量不必事先说明,也不需要指定类型,它会根据变量所涉及到的操作来决定变量的类型。

任何以字母开头,包含字母、数字和下划线并且长度少于32的字符串都可以作为变量的名字。

变量名区分大小写,并且不能与系统的关键字和内部函数同名。

通常MatLab 中的变量(系统的和用户的)都以约定俗成的简写命名。

例如>> x = 3该命令定义了一个叫做x 的变量并赋值3,其中>>为系统提示符。

回车运行后,系统会显示x 的值,并且出现新的提示符。

若不想显示x 的值,可以写>> x = 3;行尾的分号起抑制显示的作用。

我们也可以定义其它类型的变量,如>> s = 'hello world!'; A = [1 2 3; 2 3 4; 3 4 5];可以看到,s 是一个字符串,字符串的常量由引号括起来; A 是一个矩阵,以[ ]为标识,同一行的元素以空格或逗号分隔,行与行之间以分号或回车分隔。

s 和A 的赋值可写在同一行。

所有变量都需要赋值后才能参加运算。

MatLab 有自己预定义的变量,经常使用的有:pi, i,j, eps, NaN, Inf,分别表示圆周率、虚根、浮点运算的相对精度,Not-a-Number(不定型)和无穷大。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

19
图形处理-三维图形
plot3(x,y,z,s) plot3也可以以矩阵作为输入参数,这时要求3个输入 矩阵必须结构相同。 网格函数 mesh(x,y,z) 绘制三维面的网格图。 [X,Y]=meshgrid(x,y) 划分平面网格。x,y为给定的 向量,矩阵(X,Y)是网格划分后的数据矩阵。 meshc(x,y,z) 绘制将网格与等高线结合的三维面图。 meshz(x,y,z) 绘制以边界面屏蔽的网格图 surf(x,y,z) 绘制三维着色面图
MATLAB简介
1
MATLAB应用领域

嵌入式系统

机械电子学 测试与测量 计算生物学 金融工程 机器人 数据分析


控制系统
数字信号处理 通讯系统 图像处理与计算机视觉 物联网 FPGA设计
2
MATLAB主界面
启动:单击MATLAB图标打开 退出:在命令窗口输入“exit”或“quit”

34

17
图形处理-二维图形
绘制二维图形最常用的函数是plot函数。其调用格式: plot(Y) 若Y为向量,则绘制的图形以向量索引为横坐标值, 以向量分量值为纵坐标值; 若Y为矩阵,则绘制Y的列向量对其坐标索引的图形; 若Y为一复向量(矩阵),则plot(Y)相当于 plot(real(Y),imag(Y))。而在其他形式的函数调用中, 元素的虚部将被忽略。

3
4
MATLAB语言的基本要素
Matlab语言构建: 变量 常量 数值 符串 运算符 标点等

5
数组
数组的定义相当简捷,主要有三种格式: x=x1:step:x2 (初始值:步长:尾元素数值限) y=linspace(x1,x2,n) (初始值:终止值:数组元素个 数)n默认为100 y=logspace(x1,x2,n) (初始值:终止值:数组元素个 数)n默认为50

11
M文件-函数式文件
12
程序流程控制
For While if-else-end switch-case

13
程序流程控制-FOR语句

流程控制语句中的基础,使用该循环语句可以以指定 的次数重复执行循环体内的语句。 for循环语句的调用形式: for 循环控制变量=<循环次数设定>(可以是已定 义的向量,也可在for循环语句中定义) 循环体 end

31
MATLAB工具箱-控制类
控制系统工具箱Control System Toolbox 主要处理以传递函数 系统辨识工具箱System Identification Toolbox 系统辨识就是通过测量研究对象在人为输入下的输 出响应,或正常运行时的输入输出数据记录,加以 必要的数据处理和数学计算,估计出对象的数学模 型。作用是 模糊逻辑工具箱Fuzzy Logic Toolbox 鲁棒控制工具箱Robust Control Toolbox 模型预测控制工具箱Model Predictive Control Toolbox 航空航天工具箱Aerospace Toolbox

20
图形处理-举例
21
图形处理
图形的标注 坐标标注 文本标注 交互式文本标注 图例标注 图形的保持与子图 图形的保持 子图

22
GUI
23
MATLAB解决的数学问题
解析解与数值解 数值线性代数问题及求解 微积分问题的MATLAB求解 常微分方程的数值解法 非线性方程与最优化问题求解 数据插值与统计分析
26
SIMULINK简介-常用模块
27
SIMULINK简介-举例
单闭环调速系统模型
28
S函数

在实际应用中,通常会发现有些过程用普通的 Simulink模块不容易搭建,可以使用Simulink支持 的S-函数模块,像标准Simulink模块那样直接调用。

可以用MATLAB语言、C语言、C++、Fortran和 Ada等语言编写。 非常常用

24Leabharlann SIMULINK简介25
SIMULINK简介





Commonly used blocks:常用模块 Continuous:连续性模块 Discontinuous:非续性模块 Discrete:离散模块 logic and bit operations:逻辑和位操作模块组 lookup Tables:查询表模块组 Math Operations:数学运算模块组 Model Verification:模型验证模块库 Model-Wide utilities:型实用模块库 Ports & Subsystems:端口和子系统模块库 Signal Attributes:信号属性置模块组 Signal Routing:信号路线发送模块组 Sinks:输出池模块组 Sources:信号模块组 User-Defined Functions:用户定义函数模块组

14
程序流程控制-WHILE语句

以执行次数是否达到指定值来判断的。 while循环语句的一般形式: while <循环判断语句> 循环体 end


循环判断语句为某种形式的逻辑判断表达式。当表达 式的值为真时就执行循环体内的语句;否则退出。当 循环判断语句为矩阵时,当且仅当所有的矩阵元素非 零时,逻辑表达式的值为真。

8
M文件
M文件就是由matlab语言编写的可在matlab语言环 境下运行的程序源代码文件。 Matlab语言中的M文件可分为命令式(script)和函 数式(function)两种形式。 M文件可在matlab的程序编辑器中编写,也可在其 他的文本编辑器中编写,并以“.m”为扩展名加以保 存。

33
MATLAB控制箱-物理建模类
Simscape(物理模型仿真模块组) SimMechanics(机构动态仿真模块组) SimDriveline(传动系统系统仿真模块组) SimHydraulics(液压仿真模块组) SimRF(RF 仿真模块组) SimElectronics(电子仿真模块组) SimPowerSystems(动力系统仿真模块组)

18
图形处理-二维图形
plot(X,Y) X为横坐标,Y为纵坐标。 plot(X,Y,s) X为横坐标,Y为纵坐标。s为一字符, 可以代表不同的线型、点标、颜色。

注意:向量X和Y必须是同维数的,也必须同是行向 量或列向量。 当变量X和Y是同阶矩阵时,将按矩阵的行或列进行 操作。特别的,变量Y可以包含多个符合要求的向量, 这时将在同一幅图中绘制所有的图形。

29
电气系统仿真
30
MATLAB工具箱
MATLAB 信号处理与通信 MATLAB 数学、统计与优化 MATLAB 控制系统设计与分析 MATLAB 图像处理与计算机视觉 MATLAB 测试&测量 MATLAB 数据库访问与报告 MATLAB 代码生成 Simulink 信号处理与通信 Simulink 物理建模

6
矩阵的运算
矩阵的代数运算 矩阵的逻辑运算 矩阵的比较关系 矩阵元素的数据交换

7
MATLAB程序设计
Script Function Example Class System Object Figure Graphical User Interface Common Shortcut Simulink Model Stateflow chart Simulink project
15
程序流程控制-IF-ELSE-END语句
if-else-end语句的一般形式: if <逻辑判断语句> 逻辑值为“真”时执行语句 else 逻辑值为“假”时执行语句 end

16
程序流程控制-SWITCH-CASE
switch-case语句是用于解决多分支判断选择的问题。 switch-case语句的一般表达形式: switch <选择判断量> case 选择判断值1 选择判断语句1 case 选择判断值2 选择判断语句2 …… otherwise 判断执行语句 end

32
MATLAB控制箱-测试测量类
Data Acquisition Toolbox(数据采集工具箱) Instrument Control Toolbox(仪表控制工具箱) Image Acquisition Toolbox(图像采集工具箱) OPC Toolbox(OPC开发工具箱) Vehicle Network Toolbox(车载网络工具箱)

9
M文件-命令式文件

就是命令行的简单叠加,matlab会自动按顺序执行 文件中的命令。 命令式文件在运行过程中可以调用matlab工作域内 所有的数据,而且所产生的所有变量均为全局变量。

10
M文件-函数式文件
主要用于解决计算中的参数传递和函数调用的问题。 函数式的标志是它的第一行为function语句。 函数式文件可以有返回值,也可以没有。 函数式文件执行之后,只保留最后结果,不保留任何 中间过程,所定义的变量也仅在函数内部起作用,并 随着调用的结束而被清除。 即除无特殊声明外,其变量均为局部变量。 注意:存储函数式M文件时文件名要与主函数名相 一致。
相关文档
最新文档