MATLAB基础入门.ppt_第1页
MATLAB基础入门.ppt_第2页
MATLAB基础入门.ppt_第3页
MATLAB基础入门.ppt_第4页
MATLAB基础入门.ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB基础入门,发表者: MATLAB基础入门, 1Matlab软件基本介绍2Matlab软件接口3变量的定义和特殊变量和常数4基本运算5矩阵操作6m文件的制作7面向流程的MATLAB程序设计8Matlab描绘9Matlab学习技术和网络资源10练习问题, 1Matlab软件基本介绍Matlab名称由Matrix和Laboratory的前三个字符组合而成,是MathWorks公司在1982年发表的高性能的数值计算和可视化数学软件。 Matlab编程运算与人进行科学计算的想法和表现方式完全一致(主要是面向过程)。 并不是越是学其他高级语言,就越难学Basic、Fortran、c等。 其基本

2、数据类型是矩阵。 具有强大的数值计算和图形功能。 具有丰富的工具箱,如统计工具箱、优化工具箱、神经网络、信号处理等。 2Matlab软件界面、当前路径窗口、历史命令窗口、命令窗口、工具栏、主菜单栏、当前目录路径、文件详细信息、工作区窗口、快速开始窗口按钮3.1变量的定义变量可以不定义,但必须分配的变量名区分大小写,变量名的第一个字符必须是字母,变量名的长度不能超过31个字符,变量名可以包含连字符和数字,但不能包含空格和标点符号基本数据类型是矩阵,是操作演示。 三变量的定义和特殊变量和常数,3.2特殊变量和常数ans最近生成的无名结果eps浮点数的相对误差pi3.14145926i虚数单位j虚数

3、单位Inf无限大,如n/0Nan非数值型变量Realmin最小的正浮点数,Realmax最大的浮点数,4基本运算, 4.1算术运算符加减运算*乘法(包含标量乘法的矩阵乘法、标量和矩阵乘法) /除法(包含标量除法、矩阵除法标量、矩阵除法标量) 矩阵求幂(矩阵必须是正方形矩阵) *矩阵对应元素乘法./矩阵对应要素除法. 矩阵各要素求幂的注意:不记得的时候请尝试4基本运算,4.2关系运算符=以上、=以上、=以下、=不相等的运算规则:关系式成立时,结果为1如果关系式不成立,结果为0。 4基本运算,4.3逻辑运算符的同行元素用逗号或空格分隔,不同的行元素用分号或换行符分隔。 例5.1a= 1,2,3;

4、4、5和6 ),输出结果: A=123456或A=123; 456 )或A=123456,注:如果未指定输出变量,系统的默认ans是变量名称,可以使用后缀(例如A(i,j ) )访问矩阵元素,例如,a=a (2,1 )输出是a=4,5矩阵运算,(2)。 n )零矩阵ones(m,n)1矩阵eye(m,n )单位矩阵rand(m,n ) (0,1 )区间内的均匀分布随机矩阵,例如5.2z=zeros(2, 3) u=ones(3),z=0. 00000.00000.00000.00000,u=1. 00001.00001.00001.00001.00001.00000,例5.3e=eye 3 )

5、 e=1. 00000.00000.00001.00000.00000.00000.00000、x=0. 23110.89130.0185,5,5矩阵运算,5.2向量(数组)的% (行向量) B=1; 2; 三); % (列向量) c=rand (1,4 ) % (使用矩阵生成函数),(2)行向量的特殊输入方法,5矩阵操作,示例5.4A=1:5; %A=12345 (公差默认值为1 ),B=1:2:7; %B=1357 (公差为2 ),C=5:-2:-1; %C=531-1 (公差为-2)、linspace (0,1,4 ) % ans=00.33330.66671.0,x=linspace

6、(0,1 ) %等差数组默认从0到1分割为100个数值,5矩阵操作,5.3矩阵的分割从一个矩阵中取出几行(列)构成新的矩阵称为剪切,冒号“:”的使用很重要。 例5.5A=1234; 5678; 9101112; %定义矩阵a,a (3, ) %提取a的第三行,ans=9101112,a (:2 ) %提取a的第二列,ans= 2610 ,X=A(2:3, 1,3,4 ) %提取a的第二、三行,第一,3,4 91112 ),5矩阵操作,(2)矩阵的拼接,在MATLAB中,基于块矩阵的思想,子矩阵的拼接可以是大矩阵,但应注意所有子矩阵的维数都是兼容的。例5.6的第二行、2行1列零向量和来自2行3列

7、单位阵列的3行4列矩阵e .e= a (2, ); zeros (2,1 ),eye (2,3 ),E=567801000010,A=1234; 5678; 9101112; 5矩阵操作,(3)矩阵的编辑修正,在MATLAB中,通过重新分配给矩阵的一部分元素(子矩阵),可以实现矩阵元素的编辑和修正。 另外,将例子5.7a (3,1 )=0% a的第3行1列的元素修改为0,将a=1210560521112,a (1:2,4 )=eye (2) % a的第1,2行3,4列的子矩阵修改为2次单位矩阵,5矩阵操作,5.2矩阵运算,(1)矩阵的基本运算,以及对应于b同维元素相加) A*B(A列数=B行数

8、,通常矩阵乘法) AB (左除,a,b同行数,方程式AX=B解) B/A (右除,a,b同列数,方程式XA=B解) Ap (共轭转置) Ap (矩阵乘法,a为正方矩阵),5矩阵运算,(2)常数a、a/b (与b和a的各要素对应的运算除b只能除数)、(3)矩阵的特殊运算(点运算)、A.*B、A.B、A./B、A.B(A、b维相同,用对应的要素进行运算)、A. b、b./A、A.b、b./A (在b和a的各元素上运算)、5矩阵运算,例如5.8X1=A B、X2=C*B、X3=A b输出结果: x1=333614 x2=814630 x3=0.7143-0.285370.8571000.42860.

9、4286-0.285357,其中a=123312b=210302c=1230, 5矩阵运算5.3一般的矩阵运算函数sum矩阵sum矩阵sum矩阵sum矩阵size矩阵length矩阵的长度sort矩阵重新排列max/min矩阵最大值/最小值reshape矩阵变形函数repmat矩阵堆栈find矩阵查询、6M文件的制作, 1 .脚本文件(也称为命令M-文件)脚本文件的结构相对简单,没有输入参数和输出参数,只是一些MATLAB命令行的组合。 脚本文件中定义的所有变量都是全局变量。 2 .函数文件(也称为函数M-文件)。函数文件通常包括以下部分: (1)函数定义行:在文件的第一行上,并且以funct

10、ion开头的(2)帮助信息:紧接在函数定义行之后,以%开始的注释行(3)函数、6M文件的创建,语句的一般形式: 变量=式注如果默认的“变量=”,系统的默认ans是变量名称。 在词句的末尾加分号“; 时,如果执行命令后不显示计算结果语句过长,可以在后续行的1行中写入多个语句,各语句用逗号(显示计算结果)或分号(不显示计算结果)分隔。 示例6.1给定的矩阵,A=123; 456 ); %输入矩阵AB=401; 012; 计算%输入矩阵BC=A B%输出a和b之和D=A-B%输出a和b之差,创建指令文件,输入矩阵a、b,计算输出之和和之差。 解:创建以下M-文件SY1.m,将上述文件另存为SY1.m

11、,然后在命令窗口中调用此M-文件,创建6M文件,C=524468; SY1,functionC,D=SY2(A,B)%给定的矩阵a和b计算并输出该矩阵与c和矩阵之差DC=A B的%计算矩阵和D=A-B; 计算%矩阵差,创建示例6.2函数文件,计算任意两个同维矩阵的和和差。 解:创建以下函数文件SY2.m,将SY2.m保存为名称,并在命令窗口中调用该函数文件。 D=-322444; 创建6M文件,A=123; 456 ); B=401; 012; %输入参数代入,C,D=SY2(A,B)%调用函数SY2.m,注:函数文件的第一行以function开始,然后输出参数(一个或多个情况下用括号括起来)

12、,函数名称和输入参数(用括号括起来),参数之间用逗号函数文件的变量一般为局部变量,可以用global指令将几个变量作为全局变量进行说明。 函数文件名一般必须与函数定义行的函数名称一致。 函数文件可以递归调用。 C=524468; D=-322444;6M文件的创建、1.M-文件的创建和编辑、方法1 :在命令窗口中输入命令:用editM-文件名打开相应的M-文件编辑器。 方法2 :单击菜单“filenewM-file”,打开空的m-文件编辑器,调用2.M-文件,方法在MATLAB命令窗口中直接输入m-文件名,按enter键,则m-、6M文件的创建,其中,实际参数和格式参数可以不同的输入参数用括号

13、括起来,如果输出参数是多个,则用括号“”括起来的参数之间用逗号分隔。 注:调用的M-文件必须在当前目录或文件搜索路径的范围内。 调用函数文件时,需要事先为输入参数分配值,以以下形式调用,输出参数=函数名称(输入参数)(回车)以以下命令形式将指定目录指定为当前目录:cd路径目录名、6M文件的制作、7面向进程的matlab程序设计、matlab的动作方式有2种1 .交互的指令操作方式。 也就是说,用户在命令窗口中输入命令,按下enter键后,该命令就会执行,并立即显示运算结果。 2.M文件的编程方式。 m文件由matlab语句组成,文件名必须具有. m扩展名。 例如: example.m。 用户可

14、以使用任何文件编辑器来编辑m文件. 7面向进程的matlab程序设计,m文件的程序执行过程:从上到下依次执行。 面向进程的程序结构主要是循环,对应的控制流语句如下: 7.1循环结构(1)for-end循环是循环次数的预先确定的,fori=n:s:m文体end的形式。 其中,s是一个步骤,它可以是正数、负数或小数。 7面向进程的matlab程序设计,基本功能:循环变量按顺序采用矩阵的各列,扫描执行文体的矩阵的各列,然后执行end的后续命令。 注意:格式中省略步骤s时,默认的步骤为1.for循环不能从循环内代入循环变量后结束for循环可以根据需要嵌套,例7.1创建函数文件,并生成矩阵a的各行向量的

15、元素和. a=12345678 x=hang he (a ) x=1026,解:创建函数文件(hanghe.m )为:函数x=hang he (a ) m,n=size(A ); %计算a维X=zeros(m,1) %零初始化fori=1:ny=A(:i) X=X y; end,7面向过程的matlab程序设计,(2)while语句、while文体end,基本功能:如果关系式的值为真,则重复执行文体,如果关系式的值为假,则结束循环,执行end的后续命令。 注:如果关系式的值为矩阵,则仅在结果矩阵的所有元素为真时执行循环体,否则不执行循环体。 在循环体中,使用可以通过break指令强制中止循环的

16、continue命令,可以中止循环的当前迭代,执行下一次迭代。 for用于确定循环次数,while用于不确定循环次数。 7面向进程的matlab程序设计,执行程序结果: n=10E=0.9766,E=1000 n=0; %给出初始值,n对循环次数whileE1%进行累计并进入循环E=E/2,n=n 1; %EPS的值减半,在n累计上加上1endE%输出为1以下的En%输出衰减次数n,制作示例7.2m-文件,计算使E=1000小于1的半衰减次数。 解:编写指令文件的:面向7过程的matlab程序设计,7.2结构(1)if语句,ifelseifelseifelseend,基本功能:式j的值为真的话

17、执行文体j(j=1,n ),否则执行文体n 1然后结束注意:不需要else和elseif子句,但不能省略关键字“end”。 7面向流程的matlab程序设计,解:函数文件(fenduan.m )如下: 示例7.3创建函数文件,计算分段函数:其中,functiony=fenduan(x)ifx=0y=0; else if xy1=fendu an (-3 ) y1=0y2=fendu an (3.5 ) y2=-0.3508 y3=fendu an (7.3 ) y3=1.0168, 7面向过程的matlab程序设计,交换机case值x1case值xnotherwiseend,(2)交换机语句,基本功能:首先计算表达式或变量的值,该值等于值x1,x2,xn的相应状态注意:otherwise子句不是必需的,但关键字“end”不能省略。 7为流程设计matlab程序,示例7.4编写指令,通过键盘输入一个学生的成绩(5分钟制),计算机判断该成绩的优良等级并输出。 制作解:命令书(SY00507.m )如下:x=input (你的分数:x=); 交换机xcas

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论