MATLAB 和COMSOL 介绍.ppt_第1页
MATLAB 和COMSOL 介绍.ppt_第2页
MATLAB 和COMSOL 介绍.ppt_第3页
MATLAB 和COMSOL 介绍.ppt_第4页
MATLAB 和COMSOL 介绍.ppt_第5页
免费预览已结束,剩余57页可下载查看

下载本文档

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

文档简介

MATLAB入门介绍 MATLAB是Mathworks公司于1982年推出的一套高性能数值计算的可视化软件 它集数值分析 矩阵运算 信号处理和图形显示于一体 构成一个使用方便 界面友好的用户环境 在这个环境下 用户只需简单地列出数学表达式 结果便可以数值或图形方式显示在计算机屏幕上 是以矩阵计算为基础的 交互式的科学和工程计算软件 MATLAB发展历史 Matlab 20世纪70年代后期 雏形 CleveMoler博士开发的接口程序 1983年春 JohnLittle敏锐地觉察到MATLAB在工程领域的广阔前景 于是与CleveMoler一起开发了第二代专业版 发展 1984年 正式面世 CleveMoler和JohnLittle成立了MathWorks公司 正式把MATLAB推向市场 至今 不断完善 MATLAB已经发展成为适合多学科 多种工作平台的功能强大的大型软件 MATLAB发展历史 MATrixLABoratory的缩写 MATLAB的特点 编程效率高 计算功能强 易于扩展 使用简便 附带30多个工具箱 优化工具箱 统计工具箱 符号运算工具箱等等 Matlab产品组的功能数据分析数值和符号计算工程与科学绘图控制系统设计数字图像信号处理财务工程建模 仿真 原型开发图形用户界面设计 例 用一个简单命令求解线性方程组3x1 x2 x3 3 6x1 2x2 4x3 2 1 x1 4x2 5x3 1 4A 31 1 124 145 b 3 6 2 1 1 4 x A bx 1 4818 0 46060 3848 A x b 例 用简短命令计算并绘制在0 x 6范围内的sin 2x sinx2 sin2x x linspace 0 6 y1 sin 2 x y2 sin x 2 y3 sin x 2 plot x y1 x y2 x y3 linspace x1 x2 等间隔的100个数据点linspace x1 x2 N 等间隔的N个数据点 以下简单介绍一下MATLAB的以下特点 1 语言简洁紧凑 使用方便灵活 库函数极其丰富 MATLAB程序书写形式自由 利用其丰富的库函数避开繁杂的子程序编程任务 压缩了一切不必要的编程工作 由于库函数都由本领域的专家编写 因此用户不必担心函数的可靠性 可以说 用MATLAB进行科技开发是站在专家的肩膀上进行的 2 运算符丰富 由于MATLAB是用C语言编写的 MATLAB提供了和C语言几乎一样多的运算符 灵活使用MATLAB的运算符将使程序变得极为简短 3 具有结构化的控制语句 如for循环 while循环 break语句和if语句 和面向对象编程的特性 4 语法限制不严格 程序设计自由度大 例如 在MATLAB里 用户无需对矩阵预定义就可使用 5 程序的可移植性很好 基本上不作修改就可以在各种型号的计算机和操作系统上运行 6 图形功能强大 在FORTRAN和C语言与眼里 绘图都很不容易 但在MATLAB里 数据的可视化非常简单 MATLAB还具有较强的编辑图形界面的能力 7 功能强大的工具箱 MATLAB包含两个部分 核心部分和各种可选的工具箱 核心部分中有数百个内部函数 其工具箱又可分为两类 功能性工具箱和学科性工具箱 这些工具箱都是由该领域内的学术水平很高的专家编写的 所以用户无需编写自己学科范围内的基础程序 就可以直接进行高 精 尖的研究 8 源程序的开放性 开放性也许是MATLAB最受人们欢迎的特点 除内部函数以外 MATLAB的所有核心文件和工具箱文件都是可读可改的源文件 用户可通过对源文件的修改以及加入自己的文件构成新的工具箱 9 MATLAB的缺点是 和其他高级程序相比 程序的执行速度较慢 由于MATLAB的程序不用编译等预处理 程序为解释执行 所以速度较慢 总结 它将一个优秀软件的易用性与可靠性 通用性与专业性 一般目的的应用与高深的科学技术应用有机的相结合MATLAB是一种直译式的高级语言 比其它程序设计语言容易 MATLAB已经不仅仅是一个 矩阵实验室 了 它集科学计算 图象处理 声音处理于一身 并提供了丰富的Windows图形界面设计方法MATLAB语言是功能强大的计算机高级语言 它以超群的风格与性能风靡全世界 成功地应用于各工程学科的研究领域 MATLAB在美国已经作为大学工科学生必修的计算机语言之一 C FORTRAN ASSEMBLER MATLAB 近年来 MATLAB语言已在我国推广使用 现在已应用于各学科研究部门和许多高等院校 Matlab的运行和工作界面 一 MATLAB的工作界面 MATLAB的工作界面主要包括6个窗口 分别为主窗口 命令窗口 命令历史记录窗口 当前目录窗口 工作空间窗口和工作台及工具箱窗口 1 主窗口 主窗口除了兼容5个子窗口外 还主要包含标题栏 6个菜单和一个工具条 2 命令窗口 命令窗口是MATLAB极为重要的部分 也是用户使用最频繁的部分 用户的数据输入和结果运算 一般都在此窗口中进行 4 工作台及工具箱窗口 在MATLAB的工作台及工具箱窗口中 可以看到已经安装的各种工具箱 双击选中的工具箱或单击前面的 号 就能看到工具箱中的各项功能 5 当前目录窗口 在当前目录窗口中可以显示或改变当前目录 还可以显示当前目录下的文件并提供搜索功能 6 工作空间窗口 在该窗口中显示所有目前内存中存放的变量明 变量存储数据的维数 变量存储的字节数和变量类型说明 新打开MATLAB时 只能看到一个变量ans 这是一个由系统提供的默认输出变量 3 历史记录窗口 在默认设置下 历史记录窗口会自动保留自安装起所有用过的命令和变量的历史记录 并且还注明了使用时间 从而方便了用户查询 二 MATLAB的帮助系统 MATLAB的强大帮助系统是其他科学计算软件无法比拟的信息资源中心 它的帮助系统大体可以分为4类 联机帮助系统 联机演示系统 命令查询系统和远程帮助系统 通过选择Help下拉菜单中的帮助选项进入联机帮助系统 在联机帮助窗口的帮助向导页面中含有4个可供选择的表单窗口 分别用来显示帮助主题 帮助索引 演示系统和查询帮助等 打开该系统可以通过在联机帮助系统中选择演示系统表单窗口 然后在其中选择相应的演示模块 在左侧的Demos表单窗口中包含一个开始说明和四个目录 四个目录分别包含MATLAB主程序相关的演示模块 工具箱演示模块 Simulink演示模块和模块集演示模块 1 联机帮助系统 2 联机演示系统 3 命令查询系统 三 MATLAB的运行方法 1 对于简单的数值计算 如同使用计算器 直接输入数值和运算符 立即从屏幕上获得结果 2 也可先对变量赋值 然后再输入由变量构成的表达式 也可立即获得结果 3 对于较为复杂的问题采用编程的方法来解决 诸如含有判断 循环 迭代 递归等算法的问题 Matlab常量 变量和表达式 一 MATLAB中的常量 MATLAB中提供了整数 实数 复数和字符四种类型数据 对应的常量类型也有上述四种 实数在屏幕显示时默认的小数位数为4位 若要改变实数的显示格式 可通过执行命令 Format 格式 二 变量 MATLAB变量的命名遵守如下规则 2 变量名区分大小写 3 变量名最多不超过19个字符 1 变量名必须以字母打头 之后可以是任意字母 数字或下划线 变量名中不允许使用标点符号和空格 例如 6x y r op为非法变量 ui y y9oi yu都是合法变量 MATLAB还提供了一些固有变量 即有特殊含义的内部常数 ans 用于结果的缺省变量名 pi 圆周率 i或j 表示虚数单位inf 无穷大数 如1 0 三 函数 1 标量函数 三角 指数 对数 取整 fix 开方 sqrt 等基本函数 作用于标量或矩阵 数组 的每一元素 2 向量函数 max min sum length 作用于 列或行 向量或矩阵的每一列向量 3 矩阵函数 构造矩阵的 zeros ones eye rand diag triu tril 矩阵计算的 size det rank inv eig trace norm 四 算术运算符 矩阵的输入和运算 一 矩阵的输入 1 一维矩阵的输入 1 逐个输入法 如果数据元素之间均用空格 或逗号 隔开 该向量称为行向量 如果数据元素之间均用分号隔开 该向量称为列向量 2 冒号生成法 x first increment last 表示包含由first开始 步长为increment 到last结束的整数组成的行向量 3 利用内部函数 x linspace first last n 创建从first开始 到last结束 有n个元素的均匀间隔的行向量 例 x 23sqrt 3 5 例 x 0 pi 4 pi 例 x linspace 0 pi 5 2 多维矩阵的输入 多维矩阵必须有以下三个要素 整个输入矩阵必须以 为其首尾 矩阵的行与行之间必须用分号 或回车键 Enter 隔离 矩阵元素必须由逗号 或空格分隔 例 输入A 1 2 3 4 5 6 7 8 9 3 特殊矩阵的函数生成 zeros m n m n全0阵 eye m n m n对角线1矩阵 ones m n m n全1阵 rand m n m n 0 1 随机阵 二 矩阵元素的操作 1 取矩阵中的一个元素 x a b 其中a b分别代表元素的行和列 2 取矩阵中的一行或一列 x a x b 3 取矩阵A的第i1 i2行 第j1 j2列构成新矩阵 A i1 i2 j1 j2 4 删除A的第i1 i2行 构成新矩阵 A i1 i2 5 删除A的第j1 j2列 构成新矩阵 A j1 j2 6 将矩阵A和B拼接成新矩阵 AB A B 三 矩阵的运算 1 矩阵与标量之间的运算 2 矩阵运算 矩阵运算符含义A 矩阵共轭转置ctranspose A A 矩阵转置transpose A A B矩阵相加A B矩阵相减A B矩阵相乘A B矩阵相除 右除 B A矩阵相除 左除 A nA阵的n次幂 注 两矩阵相除 主要用于方程组求解 a x b的解为x a b x a b的解为x b a 3 矩阵元素与矩阵元素的运算 A B矩阵对应元素相加A B矩阵对应元素相减A B同维数组对应元素相乘A BA的元素被B的对应元素除B AA的元素被B的对应元素除A nA的每个元素自乘n次 Matlab的程序设计 利用MATLAB的命令窗口 可以完成比较简单的运算 但当遇到较为复杂的问题时 就需要借助程序设计 一 程序设计的基本原则 1 设置完整的路径 最好把当前的处理位置定为CurrentDirectory 2 参数值要集中放在程序的开始部分 便于程序维护 3 MATLAB的每条命令后 若为逗号或无标点符号 则显示命令的结果 若命令后为分号 则禁止显示结果 4 后面所有文字为注释 表示续行 5 程序尽量模块化 也就是采用主程序调用子程序的方法 将所有子程序合并在一起来执行全部的操作 二 关系运算符与逻辑运算符 关系运算符有 逻辑运算符有 例 A 1 9 L1 A 5 判断A中 哪些元素不大于5L2 A 3 A 7 判断A中 哪些元素大于3小于7 L1 111110000L2 000111000 A 123456789 三 程序的结构 与C语言类似 MATLAB程序的控制结构也分为顺序结构 选择结构和循环结构三种 其控制语句主要有if while for switch四个 下面分别进行介绍 关系成立时结果为1 否则为0 运算规则成立时结果为1 否则为0 1 for循环结构 for循环允许一组命令以固定的和预定的次数重复 格式 fori 初值 增量 终值语句1 语句nend 例 求1 2 100的和 sum 0fori 1 100sum sum i endsum 例 设计九九乘法表 fori 1 9forj 1 9a i j i j endend 也可以嵌套使用 2 while循环结构 格式 while循环一般用于事先不能确定循环次数的情况 while逻辑表达式循环体语句end 只要表达式的值为1 真 就执行while与end之间的语句体 直到表达式的值为0 假 时终止该循环 也可以嵌套使用 例 求1 100的偶数和 x 0 sum 0 whilex 101sum sum x x x 2 endsum 3 if分支结构 格式 ifend ifelseend ifelseif elseifelseend 例 对于下述分段函数 用键盘输入变量的值 计算其相应的函数值 x input inputthevalueofx ifx 1y 1endif x 0 x 1 y xendifx 0y 0end x input inputthevalueofx ifx 1y 1elseifx 0y xelsey 0end 用一般分支结构 用嵌套结构 4 switch分支结构 格式 switchcasecase caseotherwiseend 注 当表达式的值为 值1 时 执行 语句组1 当表达式的值为 值2 时 执行 语句组2 并依次类推 若所有的条件都不成立 则执行 语句组n 1 执行完后 执行end后面的语句 例 输入一个数 判断它是否能被5整除 n input 输入n switchmod n 5 case0fprintf d可被5整除 n otherwisefprintf d不能被5整除 n end 四 程序的流程控制 1 continue命令 continue语句通常用于for或while循环体中 作用就是终止一次循环的执行 当if条件满足时 跳过本次循环未执行的语句 直接去执行下一次循环 例 a 3 b 6 fori 1 3b b 1ifi 2continueenda a 2end 输出 b 7b 8a 5b 9a 7 2 break命令 break语句也常用于for或while循环体中 与if一同使用 当if后的表达式为真时 就跳出当前的循环 例 a 3 b 6 fori 1 3b b 1ifi 2breakenda a 2end 输出 b 7 五 M文件 MATLAB是一个功能强大的程序设计语言 有着良好的交互计算的工作环境 包含MATLAB语言代码的文件称为M 文件 你可以使用文本编辑器来建立M 文件 然后可以象使用其它的MATLAB函数或命令一样使用它们 1 建立M 文件 3 保存程序 单击 save 按钮 出现一个对话框 在文件名一框中键入一个文件名 单击 保存 按钮 1 进入程序编辑器 MATLABEditor Debug 从 File 菜单中选择 New 及 M file 项或单击 New file 按钮 2 输入程序 在 MATLABEditor Debug 窗口输入MATLAB程序 2 命令M文件及其运行 命令文件没有输入参数 也不返回输出参数 只是一些命令行的组合 命令M文件中的命令可以访问MATLAB工作区中的所有变量 而且其中的所有变量也成为工作区的一部分 命令文件运行结束 命令文件产生的变量保留在工作区 直到关闭MATLAB或用命令删除 例 在文本编辑窗口输入x 4 y 6 z 2 items x y zcost x 25 y 22 z 99average cost cost items 然后以example m命名保存 这就是一个命令M文件 运行此命令M文件只需在命令窗口输入example即可运行 3 函数M文件及其调用 在MATLAB编辑窗口还可建立函数M文件 我们可以根据需要建立自己的函数文件 它们能够像库函数一样方便地调用 从而可扩展MATLAB的功能 如果对于一类特殊的问题 建立起许多函数M文件 就能形成工具箱 函数M 文件的组成格式如下 function 输出参数列表 函数名 形式参数列表 函数体语句 end 注 1 函数M文件的文件名必须与其函数名相同 2 输出变量如果多于1个 则应该用方括号括起来 输出变量应该用逗号隔开 当函数无输出参数时 输出参数项空缺或者用空的中括号表示 例如 functionprintresults x function printresults x 3 函数M文件不能访问工作区中的变量 它的所有变量均为局部变量 只有输入 输出变量才保留在工作区 例 建立M文件求向量的平均值和标准差 在文本编辑窗口输入function mean stdev stat x n length x mean sum x n stdev sqrt sum x 2 n mean 2 end 然后以stat m命名保存 这就是一个函数M文件 运行此函数M文件需先输入向量x 然后输入 mean stdev stat x 运行即可 matlab工具箱 matlab工具箱已经成为一个系列产品 matlab主工具箱和各种工具箱 toolbox 功能型工具箱 通用型功能型工具箱主要用来扩充matlab的数值计算 符号运算功能 图形建模仿真功能 文字处理功能以及与硬件实时交互功能 能够用于多种学科 领域型工具箱 专用型领域型工具箱是学科专用工具箱 其专业性很强 比如控制系统工具箱 ControlSystemToolbox 信号处理工具箱 SignalProcessingToolbox 图像处理工具箱 ImageProcessingToolbox 等等 Matlab常用工具箱 MatlabMainToolbox matlab主工具箱ControlSystemToolbox 控制系统工具箱CommunicationToolbox 通讯工具箱CurveFittingToolbox 曲线拟合工具箱SystemIdentificationToolbox 系统辨识工具箱FuzzyLogicToolbox 模糊逻辑工具箱Higher OrderSpectralAnalysisToolbox 高阶谱分析工具箱 ImageProcessingToolbox 图象处理工具箱LMIControlToolbox 线性矩阵不等式工具箱ModelpredictiveControlToolbox 模型预测控制工具箱 AnalysisandSynthesisToolbox 分析工具箱NeuralNetworkToolbox 神经网络工具箱OptimizationToolbox 优化工具箱PartialDifferentialToolbox 偏微分方程工具箱RobustControlToolbox 鲁棒控制工具箱 SignalProcessingToolbox 信号处理工具箱SplineToolbox 样条工具箱StatisticsToolbox 统计工具箱SymbolicMathToolbox 符号数学工具箱SimulinkToolbox 动态仿真工具箱SystemIdentificationToolbox 系统辨识工具箱WaveleToolbox 小波工具箱等等 学科前沿工具箱 时频分析工具箱小波分析工具箱神经网络工具箱神经网络系统具有集体运算的能力和自适应的学习能力 具有很强的容错性和鲁棒性 善于联想 综合和推广 工具箱的扩充功能 用户可以修改工具箱中的函数 更为重要的是用户可以通过编制m文件来任意地添加工具箱中原来没有的工具函数 此功能充分体现了matlab语言的开发性 COMSOLMultiphysicsV4 3介绍 COMSOLMultiphysics起源于MATLAB的Toolbox 最初命名为Toolbox1 0 后来改名为Femlab1 0 FEM为有限元 LAB是取自于Matlab 这个名字也一直沿用到Femlab3 1 从2003年3 2a版本开始 正式命名为COMSOLMultiphysics Multiphysics翻译为多物理场 因此这个软件的优势就在于多物理场耦合方面 多物理场的本质就是偏微分方程组 PDEs 所以只要是可以用偏微分方程组描述的物理现像 COMSOLMultiphysics都能够很好的计算 模拟 仿真 COMSOL的背景和发展 COMSOLMultiphysics是以有限元法为

温馨提示

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

评论

0/150

提交评论