MATLAB软件使用简介.ppt

上传人:小飞机 文档编号:6512179 上传时间:2023-11-08 格式:PPT 页数:49 大小:1.34MB
返回 下载 相关 举报
MATLAB软件使用简介.ppt_第1页
第1页 / 共49页
MATLAB软件使用简介.ppt_第2页
第2页 / 共49页
MATLAB软件使用简介.ppt_第3页
第3页 / 共49页
MATLAB软件使用简介.ppt_第4页
第4页 / 共49页
MATLAB软件使用简介.ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《MATLAB软件使用简介.ppt》由会员分享,可在线阅读,更多相关《MATLAB软件使用简介.ppt(49页珍藏版)》请在三一办公上搜索。

1、,欢迎学习MATLAB,安徽科技学院信息与计算科学教研室,MATLAB入门,MATLAB 使用简介,是一种解释式语言.简单易学、代码短小高效、计算功能强大、图形绘制和处理容易、可扩展性强.矩阵的数值运算、数值分析、模拟数据可视化、2D/3D的绘图 可以与FORTRAN、C/C+做数据链接几百个核心内部函数大量可选用的工具箱,MATLAB是Matrix Laboratory的缩写,鼠标双击Windows XP桌面上图标在Windows XP“开始”菜单的“程序”选项中选择“MATLAB”,退出MATLAB命令窗口键入“quit”或“Ctrl+Q”鼠标选择菜单 file Exit MATLAB,M

2、ATLAB 使用简介,启动 MATLAB,MATLAB桌面,命令窗口,工作空间浏览,命令历史窗口,命令窗口、编辑窗口、图形窗口,MATLAB 使用简介,MATLAB入门,一、变 量 与 函 数,二、数 组,三、矩 阵,四、MATLAB编程,1、变量 MATLAB中变量的命名规则是:(1)变量名必须是不含空格的单个词;(2)变量名区分大小写;(3)变量名最多不超过31个字符;(4)变量名必须以字母打头,之后可以是 任意字母、数字或下划线,变量名中 不允许使用标点符号.,一、变 量 与 函 数,特殊变量表,2、数学运算符号及标点符号,(1)MATLAB的每条命令后,若为逗号或无标点符号,则显示命令

3、的结果;若命令后为分号,则禁止显示结果.(2)“%”后面所有文字为注释.(3)“.”表示续行.,sin 正弦函数 asin 反正弦函数 cos 余弦函数 acos 反余弦函数 tan 正切函数 atan 反正切函数 cot 余切函数 acot 反余切函数 sec 正割函数 asec 反正割函数 csc 余割函数 acsc 反余割函数,sinh 双曲正弦函数 asinh 反双曲正弦函数 cosh 双曲余弦函数 acosh 反双曲余弦函数 tanh 双曲正切函数 atanh 反双曲正切函数 sech 双曲正割函数 asech 反双曲正割函数 csch 双曲余割函数 acsch 反双曲余割函数 co

4、th 双曲余切函数 acoth 反双曲余切函数,三角函数与双曲函数,3.MATLAB 常用函数,abs(x)绝对值sqrt(x)开平方conj(z)共轭复数round(x)四舍五入floor(x)舍去正小数rat(x)化为分数表示gcd(x,y)最大公因数exp(x)自然指数log(x)e为底的对数Log10(x)10为底的对数,angle(z)复数z的相角real(z)复数z的实部imag(z)复数z的虚部fix(x)舍去小数取整ceil(x)加入正小数取整sign(x)符号函数rem(x,y)求x除以y的余数lcm(x,y)最小公倍数pow2(x)以2为底的指数log2(x)以2为底的对数

5、,MATLAB 常用函数介绍,who 列出在MATLAB工作空间中已有的变量whos 列出驻留变量的同时,还给出维数及性质clear 删除内存中的变量(数据)clc 删除命令窗口的内容(已使用过的命令)home 光标移到命令窗口的左上角clf 删除图形窗口的内容 调出刚才使用过的命令help 命令窗口查询帮助 help,help+函数(类)名quit 退出MATLAB,MATLAB 常用函数介绍,MATLAB命令窗口的部分通用命令,MATLAB的内部函数是有限的,有时为了研究某一个函数的各种性态,需要为MATLAB定义新函数,为此必须编写函数文件.函数文件是文件名后缀为M的文件,这类文件的第一

6、行必须是一特殊字符function开始,格式为:function 因变量名=函数名(自变量名)函数值的获得必须通过具体的运算实现,并赋给因变量.,4、M文件,M文件建立方法:1.在Matlab中,点:File-New-M-file 2.在编辑窗口中输入程序内容 3.点:File-Save,存盘,M文件名必须 与函数名一致。,MATLAB的应用程序也以M文件保存。,例:定义函数 f(x1,x2)=100(x2-x12)2+(1-x1)2,function f=fun(x)f=100*(x(2)-x(1)2)2+(1-x(1)2,1.建立M文件:fun.m,MATLAB(fun),2.可以直接使用

7、函数fun.m,例如:计算 f(1,2),只需在Matlab命令窗口键入命令:x=1 2fun(x),返回,x=logspace(first,last,n)创建从开始,到结束,有n个元素的对数分隔行向量,1、创建简单的数组,二、数 组,MATLAB(shuzu1),x=a b c d e f 创建包含指定元素的行向量,x=first:last 创建从first开始,加1计数,到last结束的行向量,x=first:increment:last 创建从first开始,加increment计数,last结束的行向量,x=linspace(first,last,n)创建从first开始,到last结

8、束,有n个元素的行向量,2、数组元素的访问,MATLAB(shuzu2),(3)直接使用元素编址序号.x(a b c d)表示提取数组x的第a、b、c、d个元素构成一个新的数组x(a)x(b)x(c)x(d).,(2)访问一块元素:x(a:b:c)表示访问数组x的从第a个元素开始,以步长为b到第c个元素(但不超过c),b可以为负数,b缺损时为1.,(1)访问一个元素:x(i)表示访问数组x的第i个元素.,3、数组的方向 前面例子中的数组都是一行数列,是行方向分布的.称之为行向量.数组也可以是列向量,它的数组操作和运算与行向量是一样的,唯一的区别是结果以列形式显示.,产生列向量有两种方法:直接产

9、生 例 c=1;2;3;4 转置产生 例 b=1 2 3 4;c=b 说明:以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素.,4、数组的运算,(1)标量-数组运算 数组对标量的加、减、乘、除、乘方是数组的每个元素对该标量施加相应的加、减、乘、除、乘方运算.,设:a=a1,a2,an,c=标量,则:a+c=a1+c,a2+c,an+c a.*c=a1*c,a2*c,an*c a./c=a1/c,a2/c,an/c(右除)a.c=c/a1,c/a2,c/an(左除)a.c=a1c,a2c,anc c.a=ca1,ca2,can,MATLAB(shuzu3),(2)

10、数组-数组运算 当两个数组有相同维数时,加、减、乘、除、幂运算可按元素对元素方式进行的,不同大小或维数的数组是不能进行运算的.,设:a=a1,a2,an,b=b1,b2,bn,则:a+b=a1+b1,a2+b2,an+bn a.*b=a1*b1,a2*b2,an*bn a./b=a1/b1,a2/b2,an/bn a.b=b1/a1,b2/a2,bn/an a.b=a1b1,a2b2,anbn,MATLAB(shuzu4),返回,三、矩 阵,逗号或空格用于分隔某一行的元素,分号用于区分不同的行.除了分号,在输入矩阵时,按Enter键也表示开始一新行.输入矩阵时,严格要求所有行有相同的列.例 m

11、=1 2 3 4;5 6 7 8;9 10 11 12 p=1 1 1 1 2 2 2 2 3 3 3 3,1、矩阵的建立,特殊矩阵的建立:.,MATLAB(matrix1),d=eye(m,n)产生一个m行、n列的单位矩阵,c=ones(m,n)产生一个m行、n列的元素 全为1的矩阵,b=zeros(m,n)产生一个m行、n列的零矩阵,a=产生一个空矩阵,当对一项操作无结 果时,返回空矩阵,空矩阵的大小为零.,程序见下页,m=1 2 3 4;5 6 7 8;9 10 11 12p=1 1 1 1 2 2 2 2 3 3 3 3a=b=zeros(2,3)c=ones(2,3)d=eye(2,

12、3)e=eye(3,3),a=b=0 0 0 0 0 0c=1 1 1 1 1 1d=1 0 0 0 1 0 e=1 0 0 0 1 0 0 0 1,运行结果,2、矩阵中元素的操作,MATLAB(matrix2),(1)矩阵A的第r行:A(r,:),(2)矩阵A的第r列:A(:,r),(4)取矩阵A的第i1i2行、第j1j2列构成新矩阵:A(i1:i2,j1:j2),(5)以逆序提取矩阵A的第i1i2行,构成新矩阵:A(i2:-1:i1,:),(6)以逆序提取矩阵A的第j1j2列,构成新矩阵:A(:,j2:-1:j1),(7)删除A的第i1i2行,构成新矩阵:A(i1:i2,:)=,(8)删除

13、A的第j1j2列,构成新矩阵:A(:,j1:j2)=,(9)将矩阵A和B拼接成新矩阵:A B;A;B,(3)依次提取矩阵A的每一列,将A拉伸为一个列向量:A(:),(2)矩阵-矩阵运算 1 元素对元素的运算,同数组-数组运算。,3、矩阵的运算,(1)标量-矩阵运算 同标量-数组运算。,MATLAB(matrix3),2矩阵运算:矩阵加法:A+B矩阵乘法:A*B方阵的行列式:det(A)方阵的逆:inv(A)方阵的特征值与特征向量:V,D=eig(A),返回,程序见下页,a=1 2 3 4 5 6b=1 2 1 2 1 2c1=a+ac2=a*bc=2 7 3;3 9 4;1 5 3c3=det

14、(c)c4=inv(c)v,d=eig(c),a=1 2 3 4 5 6 b=1 2;1 2;1 2 c1=2 4 6;8 10 12c2=6 12;15 30c=2 7 3 3 9 4 1 5 3 c3=-3c4=-2.3333 2.0000-0.3333 1.6667-1.0000-0.3333-2.0000 1.0000 1.0000v=-0.5515-0.7857-0.2743-0.7309 0.4412-0.3391-0.4020-0.4337 0.8999d=13.4635 0 0 0-0.2747 0 0 0 0.8112,运行结果,关系与逻辑运算,1、关系操作符,2、逻辑运算符

15、,for x=array commands end 在for和end语句之间的命令串commands按数组(array)中的每一列执行一次.在每一次迭代中,x被指定为数组的下一列,即在第n次循环中,x=array(:,n),控制流,MATLAB提供三种决策或控制流结构:for循环、while循环、if-else-end结构.这些结构经常包含大量的MATLAB命令,故经常出现在MATLAB程序中,而不是直接加在MATLAB提示符下.,四、MATLAB 编程,1、for循环:允许一组命令以固定的和预定的次数重复.,for n=1:10 x(n)=sin(n*pi/10);end x,例1 对n=1

16、,2,10,求xn=的值,MATLAB(for1),例2 求奇数和:s=1+3+5+(2k-1),n=input(请输入 n=);s=0;for i=1:2:n s=s+i;fprintf(i=%.0f,s=%.0fn,i,s);end,MATLAB(for2),例3 求e:e=1+1+1/2!+1/3!+1/n!,MATLAB(for3),n=input(请输入 n=);p=1;e=1;for i=1:n p=p*i;p1=1/p;e=e+p1;fprintf(i=%.0f,e=%.13f n,i,e);end,例4 求pi:pi/4=1-1/3+1/5-1/7+1/9-1/11+,MATL

17、AB(for4),n=input(请输入 n=);pi=0;k=-1;for i=1:2:n k=(-1)*k;pi=pi+k*1/i;fprintf(i=%.0f,pi=%.8f n,i,4*pi);end,while expression commands end 只要在表达式(expression)里的所有元素为真,就执行while和end语句之间的命令串commands.,与for循环以固定次数求一组命令相反,while循环以不定的次数求一组语句的值.,2、while循环,money=10000;years=0;while money20000 years=years+1;money=

18、money*(1+11.25/100);endyears,MATLAB(while1),例1 设银行年利率为11.25%。将10000元钱存入银行,问多长时间会连本带利翻一番?,例2 求e:e=1+1+1/2!+1/3!+(1/n!1.0e-8),MATLAB(while2),p=1;e=1;r=1;i=1;while r=1.0e-8 p=p*i;r=1/p;e=e+r;fprintf(i=%.0f,r=%.9f,e=%.9f n,i,r,e);i=i+1;end,(1)有一个选择的一般形式是:if expression commands end 如果在表达式(expression)里的所有

19、元素为真,就执行if和end语句之间的命令串commands.,3、if-else-end结构,先建立M文件fun1.m定义函数f(x),再在MATLAB命令窗口输入fun1(2),fun1(-1)即可。,function f=fun1(x)if x1 f=x2+1endif x=1 f=2*xend,MATLAB(fun1,fun11),function f=fun11(x)if x1 f=x2+1 elseif x=1 f=2*x endend,(2)有三个或更多的选择的一般形式是:if(expression1)commands1 else if(expression2)commands2

20、 else if(expression3)commands3 else if else commands end end end end,先建立M文件fun2.m定义函数f(x),再在MATLAB命令窗口输入fun2(2),fun2(0.5),fun2(-1)即可。,function f=fun2(x)if x1 f=x2+1elseif x=0 f=x3else f=2*xend,MATLAB(fun2),例3 建立符号函数sign(x),MATLAB(sign1),function f=sign(x)if x0 f=1;elseif x=0 f=0;else f=-1;end,4.cont

21、inue 命令,通常用于for或while循环语句中,与if语句一起使用,达到跳过本次循环,去执行下一轮循环的目的.分析下列程序,说明运行结果及原因a=3;b=6;for i=1:3 b=b+1;if i2 continue%当if条件满足时不再执行后面语句 end a=a+2%当i2时不执行该语句end,运行结果:a=5a=7,5.break 命令,通常用于for或while循环语句中,与if语句一起使用,中止本次循环,跳出最内层循环.分析下列程序,说明运行结果及原因a=3;b=6;for i=1:3 b=b+1;if i2 break%当if条件满足时不再执行循环 end a=a+2end

22、,运行结果:a=5a=7,程序示例,flag1=0;flag2=0;for(i=1:4)if(i=3)continue flag1=flag1+1;else flag2=flag2+1;endendflag1flag2,flag1=0;flag2=0;for(i=1:4)if(i=3)break flag1=flag1+1;else flag2=flag2+1;endendflag1flag2,输出:flag1=0 flag2=3,输出:flag1=0 flag2=2,程序流控制语句 return指令 终止当前的命令序列,把控制返回到调用函数或键盘。pause 使程序运行停止,等待用户按任意键

23、继续。break 用于中断for或while循环的执行。当中断后,程序退到本级循环以外的下一条语句执行。input 提示用户从键盘输入数值、字符串或表达式,并接受输入。,MATLAB的程序调试方法,MatLab在执行程序有错时会自动终止运行,并在其命令窗口(Matlab Command Windows)中给出相应错误的提示信息同时MATLAB的编辑器(Editor)具有程序调试功能,可用调试命令用来检查程序的正确性,单步执行,断点间执行,终止调试,(1)在程序可疑处设置断点;(2)执行程序;(3)检查程序运行至断点处变量当前值;(4)在程序中一步步执行;(5)结束调试状态。(6)取消断点。,执

24、行程序之后,程序会停在断点处。并出现箭头同时调试工具栏由灰色变为深色,调试程序步骤,MATLAB编程技巧,矢量化尽可能使用向量和矩阵操作,例 求,t=cputime;s=0;for i=1:100000 s=s+(1/2i+1/3i);endcputime-tans=0.8750,向量运算t=cputime;n=1:100000;s=sum(1./2.n+1./3.n);cputime-tans=0.2970,小 结,一、初步了解MATLAB。二、熟悉MATLAB界面,进行简单操作。三、掌握如何创建矩阵、修改矩阵、符号的用法、矩阵及数组运算。四、介绍了MATLAB语言程序设计基础。MATLAB编程简单,容易掌握。通过学习,应能编写简单程序。,结 束 语本课程基于MATLAB语言基础,望大家以后进一步学习,方能编写出高质量m文件,以适应高科技的需要。望同学们今后能成为MATLAB高手。,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号