matlab新手入门简介_第1页
matlab新手入门简介_第2页
matlab新手入门简介_第3页
matlab新手入门简介_第4页
matlab新手入门简介_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

MATLAB入门简介 直观灵活的语言数值计算功能符号运算功能开放性 可扩展性强绘图功能丰富的工具箱Simulink动态仿真集成环境 MATLAB特点和功能 Matlab MatrixLaboratry矩阵实验室 Matlab是以矩阵为单位进行数据处理 Matlab的工作界面 命令窗口 当前工作目录 当前工作空间 输入命令的历史记录 命令提示符 主要内容 矩阵及MATLAB常用运算MATLAB绘图功能MATLAB程序设计数据导入实例分析 矩阵及MATLAB常用运算 pi 圆周率 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 3 2 y x 3 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排成一个m n的矩阵 满足mn A 数组运算 点运算 矩阵算术 凡是带 的操作都是对矩阵中元素的操作 矩阵基本运算 矩阵的加减 矩阵的乘法 矩阵与标量相加减 对矩阵的每一个元素都加减标量矩阵与矩阵相加减 相同的维数 对应分量进行运算 矩阵与标量相乘 对矩阵的每一个元素都乘以标量矩阵与矩阵相乘 A BA的列数等于B的行数 矩阵基本运算 矩阵的除法 右除和左除 若A可逆方阵 则 A Binv A B B AB inv A X A BA X BX B AX A B 通常 矩阵除法可以理解为 解线性方程组Ax B6x1 3x2 4x3 3 2x1 5x2 7x3 48x1 4x2 3x3 7A 634 257 8 4 3 B 3 4 7 X A B 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 777 777 D 63 52 41 E 2810 7328 F 54 G 0 5185 0 1852 1 35190 5185 1 求转置矩阵 a 10 2 12 34 2 4 98 34 6 a ans 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 a x b yv x x y y syms命令格式 symsarg1arg2 argn说明 一次可以定义多个符号变量 以空格隔开 2 建立符号表达式 利用单引号生成符号表达式y 1 sqrt 2 x 用sym函数建立符号表达式U sym 3 x 2 5 y 2 x y 6 不需定义变量 使用已定义的符号变量组成符号表达式 symsxy V 3 x 2 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 symsxyf x 2 y 2subs 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 x 2 b x n d numden f 提取分子分母 symsabxy A a 3 b 3 factor A 对A进行因式分解s 7 x 2 8 y 2 x 2 3 y 2 expand s 对s展开collect s x 对s按变量x合并同类项 symsxyas log 2 x y simplify s 简化s x 2 y 2 2 x 2 y 2 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 x 2 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 x 2 exp y 2 x 0 y y 0 1 3 积分 symsanS symsum 1 a n 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 x 2 1 s solve f x s solve x 3 3 x 1 0 x s solve x 3 3 x 1 x 6 符号代数方程的求解 例 解方程组 eq1 x 2 y z 27 eq2 x z 3 eq3 x 2 3 y 2 28 s 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 x 2 y dsolve eq1 x 例 求微分方程在初值条件下的特解 eq1 x Dy y exp x 0 cond1 y 1 2 exp 1 y dsolve eq1 cond1 x MATLAB绘图功能 MatLab图形绘制功能 plot 基本用法plot x y s 参数x为横轴变量 y为纵轴变量 s控制图形的基本特征如颜色 线型等 可省略 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窗口 helpNavigator Demos MATLAB Graphics 2 Dplots 生产图像的保存系统默认 fig也可以存储成其它格式 subplot图像排版x 0 0 1 pi 2 pi subplot 1 2 1 plot 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 gridon plot3 x y z s x y z是相同类型的向量 且长度相等 例 三维螺线y sin x z cos x 0 x 20 MATLAB程序设计 Matlab程序设计介绍 Matlab是一种科学计算语言 但同时也具有和C FORTRAN等高级语言相类似的语言特征 能方便地实现程序控制 利用Matlab的程序控制功能 可以将有关Matlab命令编成程序存储在一个文件中 M文件 然后运行该文件 Matlab就会自动依次执行文件中的命令 直到全部命令执行完毕 在Matlab程序设计中 要充分利用Matlab数据结构的特点 提供编程效率 M文件创建file菜单new m file或工具栏 新建 editM文件有两类 独立的m文件 称命令文件 脚本文件 可调用m文件 称函数文件 1 命令文件 没有输入输出参数与在命令窗口逐行执行文件中的所有指令 其结果是一样的 2 函数文件 需要输入变量 返回输出变量matlab用户自定义函数 用Matlab语言编写的程序称为M文件 以 m 为扩展名 M文件 特定规则 有多个输入变量时 各变量用逗号隔开 输出形参多用一个时 用 括起来 m文件保存时 文件名必须是和函数名同名 程序中的变量均为局部变量 变量只在函数运行期间有效 不保存在工作空间中 全局变量用global定义 且定义变量建议大写 functiony f x1 x2 y x1 2 x2 2 function输出形参表 函数名 输入形参表 注释说明语句段程序语句段 function xy test m n x m n y m n 函数M文件的格式 函数调用 常见的函数调用形式为 out1out2 函数名 in1 in2 一个函数可以嵌套 也可以调用其它的函数 甚至调用自己 也就是递归调用 functiony f x1 x2 y x1 2 x2 2 function xy test m n x f m f n y f m f n z f 3 5 mn test 2 3 mn test f 2 f 3 f m test m if语句1 if表达式commandsend2 if表达式commands1elsecommands2end 3 if表达式1commands1elseif表达式2commands2elseif elsecommandsend matlab的程序结构 顺序结构 选择结构 循环结构 for循环一般形式forx arraycommandsend matlab的程序结构 sum 0 fori 1 100sum sum i endsum while循环一般形式while表达式commondsend sum 0 i 1 whilei 100sum sum i i i 1 endsum 函数文件fac mfunctionf fac n if n 1 f 1 elsef n fac n 1 end 命令文件 1 2 n s 0 n input inputn fori 1 ns s fac i ends 例 利用函数的递归调用计算n 允许循环嵌套 break continue只要有矩阵形式可以解决的问题 不要

温馨提示

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

评论

0/150

提交评论