文档库 最新最全的文档下载
当前位置:文档库 › 第1章 MATLAB数学实验与建模基础知识

第1章 MATLAB数学实验与建模基础知识

第1章 MATLAB数学实验与建模基础知识
第1章 MATLAB数学实验与建模基础知识

第1章MATLAB数学实验与建模基础知识

首先介绍三个概念:数学实验、数学建模、MATLAB软件。

数学实验是以问题为载体,应用数学知识建立数学模型,以计算机为手段,以数学软件为工具,以学生为主体,通过实验解决实际问题。数学实验是数学模型方法的初步实践,而数学模型方法是用数学模型解决实际问题的一般数学方法,它是根据实际问题的特点和要求,做出合理的假设,使问题简化,并进行抽象概括建立数学模型,然后研究求解所建立的数学模型的方法与算法,利用数学软件求解数学模型,最后将所得的结果运用到实践中。

当需要从定量的角度分析和研究一个实际问题时,人们就要在深入调查研究、了解对象信息、作出简化假设、分析内在规律等工作的基础上,用数学的符号和语言,把它表述为数学式子,也就是数学模型,然后用通过计算得到的模型结果来解释实际问题,并接受实际的检验。这个建立数学模型的全过程就称为数学建模。

MATLAB是由美国MathWorks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、FORTRAN语言)的编辑模式,代表了当今国际科学计算软件的先进水平。

1.1MATLAB概述

MATLAB和Mathematica、Maple、MathCAD并称为四大数学软件。在数学类科技应用软件中,MA TLAB在数值计算方面首屈一指,它可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通信、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解决问题要比用C、FORTRAN等语言完成相同的事情简捷得多,并且MA TLAB也吸收了Maple等软件的优点,使MATLAB成为一个强大的数学软件。MATLAB在新的版本中也加入了对C、FORTRAN、C++、Java的支持,可以直接调用,用户也可以将自己编写的实用程序导入到MA TLAB函数库中方便自己以后调用,此外许多MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可使用。

1.1.1MATLAB的发展史

20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程

的负担,用FORTRAN编写了最早的MA TLAB。1984年由Little、Moler、Steve Bangert 合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MA TLAB 已成为国际控制界的标准计算软件,其版本的发展历程如表1-1所示。

表1-1MATLAB的发展历程

1.1.2MATLAB R2013的新特性

MATLAB R2013的新特性主要包括以下几方面。

(1)桌面

MATLAB R2013的桌面具有如下特性。

?用于在快速访问工具栏上的控件之间添加分隔条的选项。

?用于自定义MATLAB 应用程序描述的其他图标选项、可自动缩放的缩略图以及文本格式选项。

?用于在帮助浏览器和在线Documentation Center 中进行导航的目录(左对齐)。

(2)语言和编程

MATLAB R2013在语言和编程方面具有如下特性。

?est 软件包,针对MATLAB 语言的一个xUnit 风格的测试框架,可用于编写并运行单元测试以及分析测试结果。

?strsplit 和strjoin 函数,用于拆分及合并字符串。

(3)数学

MATLAB R2013在数学方面具有如下特性。

?提供scatteredInterpolant 和griddedInterpolant 支持。

?具有ones、zeros语法,以及用于创建符合现有变量属性的数组的其他函数。

?为prod、cumsum、cumprod、median、mode和数论函数提供整型支持。

(4)数据导入和导出

MATLAB R2013在数据导入和导出方面具有如下特性。

?使用VideoReader 和VideoWriter 对象编写和读取索引色和灰度级AVI 文件。

?使用VideoWriter 对象在Mac 上编写MPEG-4 H.264 文件。

?TIFF 对象改进,可用于读取和编写RGB 类TIFF 图像。

(5)性能

MATLAB R2013在性能方面具有如下特性。

?改进了fft 函数在配置有新款Intel 和AMD 处理器的计算机上的性能。

?改进了permute 函数针对三维和更多维数组的性能。

1.1.3MATLAB的特点

MATLAB给用户带来的是最直观、最简洁的程序开发环境,它具有以下主要特点。

1. 编程环境

MA TLAB由一系列工具组成,这些工具方便用户使用MATLAB的函数和文件。其中许多工具采用的是图形用户界面,包括:MA TLAB桌面和命令窗口,历史命令窗口,编辑器和调试器,路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MA TLAB的商业化以及软件本身的不断升级,MA TLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单,而且新版本的MA TLAB提供了完整的联机查询、帮助系统,极大地方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时报告出现的错误及进行出错原因分析。

2. 简单易用

MATLAB是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入/输出和面向对象编程的特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式,使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MA TLAB能够深入到科学研究及工程计算各个领域的重要原因。

3. 强处理能力

MATLAB是一个包含大量计算算法的集合,其拥有工程中要用到的600多个数学运算函数,可以方便地实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MA TLAB的这些函数集包括从最简单、最基本的函数到诸如矩阵、特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。

4. 图形处理

MATLAB自产生之日起就具有方便的数据可视化功能,可以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图像处理、动画和表达式作图,可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外,新版本的MA TLAB还着重在图形用户界面(GUI)的制作上做了很大的改善,对这方面有特殊要求的用户也可以得到满足。

MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱(Toolbox)。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通信、电力系统仿真等,都在工具箱家族中有了自己的一席之地。

5. 程序接口

新版本的MA TLAB可以利用MA TLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MA TLAB运行的C和C++代码。允许用户编写可以和MATLAB进行交互的C或C++语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MA TLAB数学和图形程序。MA TLAB的一个重要特色就是具有一套程序扩展系统和一组称为工具箱的特殊应用子程序。工具箱是MA TLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。

6. 可移植性及扩充能力

MATLAB的可移植性好,基本上不作任何修改就可在各种型号的计算机和操作系统上使用。此外,MATLAB的扩充能力极强,其本身丰富的库函数可随时调用,而且也可以随时调用自己的用户文件,用户可以随时扩充用户文件,增加功能,而且还可以充分利用C、FORTRAN等语言的资源,包括已经编好的C、FORTRAN语言程序或子程序。

1.1.4MATLAB的应用

MATLAB 产品族可以用来进行以下各种工作。

?数值分析。

?数值和符号计算。

?工程与科学绘图。

?控制系统的设计与仿真。

?数字图像处理技术。

?数字信号处理技术。

?通信系统设计与仿真。

?财务与金融工程。

?管理与调度优化计算(运筹学)。

MATLAB 的应用范围非常广,包括信号和图像处理、通信、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB 环境,以解决这些应用领域内特定类型的问题。

1.2MATLAB安装、启动、退出及卸载

MATLAB的安装非常简单,在官方网站下载MATLAB R2013a,解压程序,直接运行进行安装。下面详细介绍MATLAB R2013a的安装、启动、退出和卸载的过程。

1.2.1MATLAB安装

MATLAB R2013a在安装过程中的具体步骤如下。

(1)将MATLAB R2013a的安装盘放入CD-ROM驱动器,系统将自动运行程序,进入初始化界面,如图1-1所示。

图1-1MA TLAB R2013a安装的启动界面

(2)启动安装程序后显示的安装界面如图1-2所示。选中【不使用Internet安装】单选按钮,再单击【下一步】按钮。

图1-2“MathWorks 安装程序”对话框

(3)弹出如图1-3所示的“许可协议”对话框,若同意MathWorks公司的安装许可协议,选中【是】单选按钮,单击【下一步】按钮。

图1-3“许可协议”对话框

(4)弹出如图1-4所示的“文件安装密钥”对话框,输入软件外包装封面或安装许可文件内提供的钥匙,单击【下一步】按钮。

图1-4“文件安装密钥”对话框

(5)若输入正确的钥匙,系统将弹出如图1-5所示的“安装类型”对话框,可以选择“典型”或“自定义”安装类型。如果选择“典型”类型,MA TLAB R2013a安装工具默认安装所有工具箱及组件,此时所需空间约为8.3GB。

图1-5“安装类型”对话框

(6)默认安装路径为C:\Program File\MATLAB\R2013a。用户可以通过单击【浏览】按钮选择其他安装文件夹,如选择安装在F:\MATLAB R2013a下,若F盘下没有MA TLAB R2013a文件夹,安装程序自动建立,此时“选择文件夹”对话框的下部将显示安装硬盘剩余空间及软件安装所需空间大小(图示为全部安装所需空间大小)。单击【下一步】按钮,如图1-6所示。

图1-6“选择文件夹”对话框

(7)确定安装路径的下一步,系统将弹出如图1-7所示的“确认”对话框,可以看到用户所默认安装的MATLAB组件、安装文件夹等相关信息。单击【安装】按钮,安装开始。

图1-7“确认”对话框

(8)软件在安装过程中将显示安装进度条,如图1-8所示。用户需要等待产品组件安装完成,同时可以查看正在安装的产品组件及安装剩余的时间。

(9)在安装完产品组件之后,MathWorks公司需要用户进行产品配置。在如图1-9所示的“产品配置说明”对话框中,单击【下一步】按钮。

图1-8“安装进度条”对话框

图1-9“产品配置说明”对话框

(10)接着即完成MATLAB R2013a的安装,如图1-10所示。

图1-10完成MA TLAB安装

(11)完成MATLAB安装后,在MATLAB安装目录下的bin文件夹中找到文件,双击该文件即可弹出MATLAB激活界面,如图1-11所示,选中【不使用Internet手动激活】单选按钮,接着单击【下一步】按钮。

图1-11“MathWorks软件激活”对话框

(12)在弹出的“离线激活”对话框中选中【输入许可文件的完整路径(包括文件名)】单选按钮,单击右侧的【浏览】按钮,找到许可文件的完整路径,如图1-12所示。接着单击【下一步】按钮。

图1-12“离线激活”对话框

(13)完成MA TLAB R2013a的激活,效果如图1-13所示。

图1-13“激活完成”对话框

1.2.2 MATLAB 启动和退出

MATLAB R2013a 安装结束后,用户可以通过单

击“开始”菜单中的MA TLAB 来启动MATLAB 系统,

也可以在MA TLAB 的安装目录下找到,然后双击运

行。此外,用户可以在桌面建立MATLAB 的快捷菜单,

通过双击快捷方式图标,也可以启动MA TLAB 系统。

MATLAB 默认的启动目录为C:\Program File\

MATLAB\R2013a ,可以进行修改。右击桌面上的

MATLAB R2013a 快捷图标,在弹出的快捷菜单中选

择“属性”选项,会弹出快捷菜单的属性设置对话框,

如图1-14所示。设置MATLAB 的初始目录为

E:\MATLAB2013a\example\01。

退出MATLAB 软件有以下两种方法:

? 在MATLAB 的命令窗口中输入exit 或quit 。

? 单击MATLAB 主窗口右上角的【关闭】按钮。 1.2.3 MATLAB 卸载

如果想卸载MATLAB 软件,可以通过Windows 控制面板中的添加或删除程序来卸载实现,如图1-15所示。

图1-15 控制面板的“卸载或更改程序”界面

在图1-15中,选中MA TLAB R2013a 并右击,选择弹出的“卸载/更改”选项,弹出如图1-16所示的窗口,用户可以在其中选择要卸载的程序或工具箱,系统默认全部程序和工具箱都为选中状态。单击【卸载】按钮,可进行MATLAB 的卸载。

图1-14 设置初始目录

图1-16卸载MA TLAB窗口

1.3MATLAB工作环境

MATLAB R2013a的工作界面如图1-17所示,主要包括工具栏选项、当前目录窗口、命令窗口、工作空间窗口和历史命令窗口。

MATLAB R2013a的菜单和以前版本有很大的不同,在MATLAB R2013a工作界面中没有菜单,而有3个工具栏选项,分别为HOME、PLOTS及APPS。

工作空间窗口

当前目录窗口

命令窗口

历史命令窗口

图1-17MA TLAB的工作界面

1.3.1命令窗口

命令窗口是MA TLAB的主要工作界面。在默认情况下,命令窗口提示“>>”符,用户可在此处输入函数、命令、表达式进行运算和操作。当用户单击命令窗口右上角的按

钮时,得到如图1-18所示的菜单。

各菜单项的含义如下。

?Clear Command Window:清除命令窗口。

?Select All:选择命令窗口中所有内容。

?Find:对命令窗口内容进行查找。

?Print:打印命令窗口。

?Page Setup:对命令窗口进行页面设置。

?Minimize:将命令窗口最小化。

?Maximize:将命令窗口最大化。

?Undock:将命令窗口单独脱离工作环境,当选择该选项时,弹出如图1-19所示的独立命令窗口。

图1-19独立命令窗口

一般来说,一个命令行输入一条命令,命令行按Enter键结束。但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。

使用方向键和控制键可以编辑、修改已输入的命令,↑键回调上一行命令,↓键回调下一行命令。使用“more off”表示不允许分页,“more on”表示允许分页,“more(n)”表示指定每页输出的行数。按Enter键表示前进一行,按空格键显示下一页,按q键结束当前显示。

在MA TLAB中的3个小黑点即为“续行号”,表示一条语句可分几行编写;分号“;”的作用是不在命令窗口中显示中间结果,但定义的变量将驻留在内存中。

MATLAB命令窗口中常用的命令及功能如表1-2所示。

表1-2MATLAB命令窗口中常用的命令及功能

命令功能

cls 擦去一页命令窗口,光标回屏幕左上角

clear 清除工作空间中所有的变量

clear all 从工作空间清除所有变量和函数

clear 变量名清除指定的变量

clf 清除图形窗口内容

图1-18命令窗口操作菜单

命令功能

delete<文件名> 从磁盘中删除指定的文件

help<命令名> 查询所列命令的帮助信息

which<文件名> 查找指定文件的路径

who 显示当前工作空间中所有变量的一个简单列表

whos 列出变量的大小、数据格式等详细信息

what 列出当前目录下的.m文件和.mat文件

load name 下载name文件中的所有变量到工作空间

load name x y 下载name文件中的变量x、y到工作空间

save name 保存工作空间变量到文件中

save name x y 保存工作空间变量x、y到文件中

pack 整理工作空间内存

Size(变量名)显示当前工作空间中变量的尺寸

Length(变量名)显示当前工作空间中变量的长度

↑或Ctrl+P 调用上一行的命令

↓或Ctrl+N 调用下一行的命令

←或Ctrl+B 退后一格

→或Ctrl+F 前移一格

Ctrl+←向左移一个单词

Ctrl+→向右移一个单词

Home或Ctrl+A 光标移到行首

End或Ctrl+E 光标移到行尾

Esc或Ctrl+U 清除一行

Del或Ctrl+D 清除光标后字符

Backspace或Ctrl+H 清除光标前字符

Ctrl+K 清除光标至行尾字

Ctrl+C 中断程序运行

1.3.2工作空间窗口

工作空间是MA TLAB用于存储各种变量和结果的内存空间。在该窗口中显示工作空间中所有变量的名称、字节数和变量类型,可对变量进行观察、编辑、保存和删除。独立工作空间窗口如图1-20所示。

当单击工作空间窗口右侧的按钮时,可打开如图1-21所示的工作空间操作菜单。

各菜单项的含义如下。

?New:在工作空间中新建变量。

?Save:保存工作空间中的变量。

?Clear Workspace:清除工作空间。

?Refresh:刷新工作空间。

?Choose Columns:选择工作空间中变量的列。

?Sort By:对工作空间中的变量进行排序。

?Paste:对工作空间变量进行粘贴。

?Select All:全选工作空间变量。

?Print:打印工作空间。

?Page Setup:对工作空间进行页面设置。

?Minimize:对工作空间窗口进行最小化。

?Maximize:对工作空间窗口进行最大化。

?Undock:将工作空间窗口单独脱离工作环境。

?Close:关闭工作空间窗口。

图1-20工作空间窗口图1-21工作空间操作菜单

1.3.3命令历史窗口

命令历史窗口记录着用户在Command Window窗口中输入过的所有命令,独立命令历史窗口如图1-22所示。

当单击命令历史窗口右侧的按钮时,可打开如图1-23所示的命令历史操作菜单。

图1-22命令历史窗口图1-23命令历史操作菜单

各菜单项的含义如下。

?Clear Command History:清除命令历史窗口内容。

?Select All:全选命令历史窗口内容。

?Find:查找命令历史窗口内容。

?Print:打印命令历史窗口。

?Page Setup:对命令历史窗口进行页面设置。

?Minimize:对命令历史窗口进行最小化。

?Maximize:对命令历史窗口进行最大化。

?Undock:将命令历史窗口单独脱离工作环境,当单击该按钮时,得到如图1-22所示的独立命令历史窗口。

?Close:关闭命令历史窗口。

在命令历史窗口中可以完成多种操作,单击鼠标右键,在弹出的快捷菜单中可以选择相应的命令进行操作。

?复制和粘贴命令:选中历史命令窗口中的一行或多行命令,历史命令窗口将会高亮显示这些命令。单击鼠标右键,在弹出的快捷菜单中选择Copy命令,可以完成复制

操作。复制后的命令文本可以粘贴在工作空间中运行或粘贴在其他文本编辑器中。

?运行历史命令行:如果用户需要运行历史命令窗口中的若干命令行或单行命令,选择该命令行后,单击鼠标右键,在弹出的快捷菜单中选择Evaluate Selection命令

就可以完成对命令行的重新执行。

?创建M文件:对于所执行的历史命令,如果有必要也可以编写为M脚本文件或函数文件。此时,可以在历史命令窗口中选择需要创建的命令,然后单击鼠标右键,

在弹出的快捷菜单中选择Creat Script命令,即可将所执行的历史命令中的一部分

创建M文件。当选择该命令后,系统弹出M文件编辑器,将所有选择的命令作为

M文件的一部分内容自动输入到M文件编辑器中。此时,可以按照M文件保存、

执行和调试。

?日志文件创建:在命令行中输入diary命令,可以将当前命令窗口中的所有内容都写入日志,包括命令和计算结果等。文件的保存格式为ASCII码形式,因此,可以

很容易地使用文本阅读器阅读这些文件。默认情况下,diary保存的日志文件路径

为当前的工作目录。通过日志命令diary增加日志名称并开始记录命令窗口中的内

容,然后执行相关的函数命令,最后通过日志命令diary off结束日志内容的记录。

需要注意的是,通过日志命令记录时,并不能记录图形文件。记录结束后,读者

可以在当前工作文件下找到日志文件打开阅读。

1.4MATLAB帮助系统

作为一款优秀的软件,MA TLAB为广大用户提供了有效的帮助系统。其中有联机帮助系统、远程帮助系统、演示程序、命令查询系统等多种方式帮助,这些无论对于入门读者还是经常使用MATLAB的人员都是十分有用的,经常查阅MA TLAB帮助文档,可以帮助

我们更好地掌握MA TLAB。

获得帮助的主要工具为帮助浏览器,它提供了所有已安装产品的帮助文档,以帮助使用者全面了解MATLAB功能。如果Internet连接可用,可观看在线帮助和功能演示的视频。

1.4.1帮助浏览器

帮助浏览器是整合html形式的帮助文档在MA TLAB桌面环境中,安装MA TLAB软件时会自动安装所安装产品的帮助文件和演示程序。

用户可以在主界面的HOME页下选择help命令,或在命令窗口中输入helpdesk或doc 命令,即可在浏览器中打开MA TLAB的帮助系统,如图1-24所示。

图1-24MA TLAB帮助首页

MATLAB R2013a的帮助系统和以前版本的帮助系统有很大的差别。在MA TLAB命令窗口中输入doc ver,或在图1-24中的Search Documentation窗口中输入ver,可以查询函数ver的帮助信息,如图1-25所示。

图1-25利用帮助系统进行函数查询

如果用户在命令行窗口中输入helpwin命令,MA TLAB R2013a的查询界面如图1-26所示。在图1-26中,MA TLAB的命令或函数按照列表进行了分类。例如,单击matlab\demos,

将获得MA TLAB系统的实例。如果在命令窗口中输入help demos,将会在命令窗口中显示MATLAB系统的通用命令。

图1-26输入helpwin命令后的查询界面

1.4.2命令帮助系统

命令帮助系统提供在命令窗口中输入帮助命令来获取相关函数或软件的帮助信息。命令帮助系统是获取指定函数帮助信息的最为便捷的途径,主要提供的帮助信息为相应程序.m文件中的帮助信息,同时在命令窗口中获取的帮助信息包含与帮助浏览器相应内容的链接,可以进一步查看更为完整的帮助信息。经常在命令窗口中查阅函数的帮助文档,对于MA TLAB使用都是极为有益的。

MATLAB帮助系统主要使用的函数命令有help和lookfor,help funname显示相关函数帮助注释区内容,lookfor funname显示包含函数名的相关内容,查询条件比较宽松,只要包含funname即可。

【例1-1】用help命令查看sort函数的帮助信息。

在命令窗口中输入命令help sort,如下所示。函数帮助信息首先为函数具体用法,之后以一简单实例演示函数使用,最后给出相关函数issorted、sortrows、min、max、mean、median、unique的帮助链接和sort函数在帮助浏览器中帮助文档的链接。

>> help sort

sort Sort in ascending or descending order.

For vectors, sort(X) sorts the elements of X in ascending order.

For matrices, sort(X) sorts each column of X in ascending order.

For N-D arrays, sort(X) sorts the along the first non-singleton

dimension of X. When X is a cell array of strings, sort(X) sorts

the strings in ASCII dictionary order.

Y = sort(X,DIM,MODE)

has two optional parameters.

DIM selects a dimension along which to sort.

MODE selects the direction of the sort

'ascend' results in ascending order

'descend' results in descending order

The result is in Y which has the same shape and type as X.

[Y,I] = sort(X,DIM,MODE) also returns an index matrix I.

If X is a vector, then Y = X(I).

If X is an m-by-n matrix and DIM=1, then

for j = 1:n, Y(:,j) = X(I(:,j),j); end

When X is complex, the elements are sorted by ABS(X). Complex

matches are further sorted by ANGLE(X).

When more than one element has the same value, the order of the

elements are preserved in the sorted result and the indexes of

equal elements will be ascending in any index matrix.

Example: If X = [3 7 5

0 4 2]

then sort(X,1) is [0 4 2 and sort(X,2) is [3 5 7

3 7 5] 0 2 4];

See also issorted, sortrows, min, max, mean, median, unique.

Overloaded methods:

codistributed/sort

gpuArray/sort

cgprojconnections/sort

xregdesign/sort

sweepset/sort

ordinal/sort

nominal/sort

sym/sort

Reference page in Help browser

doc sort

【例1-2】在命令窗口中利用lookfor显示sort帮助信息。

>> lookfor sort

Issorted - TRUE for sorted vector and matrices.

sort - Sort in ascending or descending order.

sortrows - Sort rows in ascending order.

cplxpair - Sort numbers into complex conjugate pairs.

dee_find_system - Get a sorted list of DEE related systems. graphtopoorder - performs topological sort of a directed acyclic graph. rtmdlsortflds - is a RTW support function.

dsort - Sort complex discrete eigenvalues in descending order. esort - Sort complex continuous eigenvalues in descending order. sorted - Locate sites with respect to meshsites. dspblkGetSortDTRowInfo - dspblkGetSortTRowInfo

dspblksort - DSP System Toolbox sort block helper function. uisortdata - GUI for sorting matrices by row.

xreglvsorter - Function to sort items in listview

pdemgeom - Sort out geometry.

sortiv - function [out,err] = sortiv(in,sortflg,nored,epp)

isorthw - True for an orthogonal wavelet.

1.5数学建模

数学建模是在20世纪60和70年代进入一些西方国家大学的,我国的几所大学在80年代初也将数学建模引入课堂。经过20多年的发展,现在绝大多数本科院校和许多专科学校都开设了各种形式的数学建模课程和讲座,为培养学生利用数学方法分析、解决实际问题的能力开辟了一条有效的途径。

大学生数学建模竞赛最早是1985年在美国出现的,1989年在几位从事数学建模教育的教师的组织和推动下,我国几所大学的学生开始参加美国的竞赛,而且积极性越来越高,近几年参赛校数、队数占到相当大的比例。可以说,数学建模竞赛是在美国诞生,在中国开花、结果的。

1.5.1建模背景

建模背景从数学技术与建模应用两方面来介绍。

1. 数学技术

近半个多世纪以来,随着计算机技术的迅速发展,数学的应用不仅在工程技术、自然科学等领域发挥着越来越重要的作用,而且以空前的广度和深度向经济、管理、金融、生物、医学、环境、地质、人口、交通等新的领域渗透,所谓数学技术已经成为当代高新技术的重要组成部分。

数学模型(Mathematical Model)是一种模拟,是用数学符号、数学式子、程序、图形等对实际课题本质属性的抽象而又简洁的刻画,它能解释某些客观现象,能预测未来的发展规律,能为控制某一现象的发展提供某种意义下的最优策略或较好策略。数学模型一般并非现实问题的直接翻版,它的建立常常既需要人们对现实问题深入细微的观察和分析,又需要人们灵活巧妙地利用各种数学知识。这种应用知识从实际课题中抽象、提炼出数学模型的过程就称为数学建模(Mathematical Modeling)。

不论是用数学方法在科技和生产领域解决哪类实际问题,还是与其他学科相结合形成交叉学科,首要的和关键的一步是建立研究对象的数学模型,并加以计算求解(通常借助计算机)。数学建模对于计算机技术在知识经济时代的作用可谓如虎添翼。

2. 建模应用

应用数学去解决各类实际问题时,建立数学模型是十分关键的一步,同时也是十分困难的一步。建立数学模型是把错综复杂的实际问题简化、抽象为合理的数学结构的过程。数学建模应用就是将数学建模的方法从目前纯竞赛和纯科研的领域引向商业化领域,解决社会生产中的实际问题,接受市场的考验。可以涉足企业管理、市场分类、经济计量学、金融证券、数据挖掘与分析预测、物流管理、供应链、信息系统、交通运输、软件制作、数学建模培训等领域,提供数学建模、数学模型解决方案及咨询服务,是对咨询服务业和数学建模融合的一种全新的尝试。

实验一 MATLAB基本操作及运算(含实验报告).

实验一 MATLAB 基本操作及运算 一、 实验目的 1、 理解Matlab 数据对象的特点; 2、 掌握基本Matlab 运算规则; 3、 掌握Matlab 帮助的使用方法; 二、 实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 三、 实验内容 要求建立一个名为experiment01.m 的,把与实验内容1-7相关的实验命令都放入该文件中,题与题之间用相应注释分割。注意对实验中出现的相关函数或变量,请使用help 或doc 查询相关帮助文档,学习函数的用法。 1、 建立以下标量: 1) a=10 2) b=2.5×1023 3) c=2+3i ,(i 为虚数单位) 4) d=3/2πj e ,(j 为虚数单位,这里要用到exp ,pi ) 2、 建立以下向量: 1) aVec=[3.14 15 9 26] 2) bVec=????? ???????18228871.2 3) cVec=[5 4.8 … -4.8 -5 ] (向量中的数值从5到-5,步长为-0.2) 4) dVec=[100 100.01 … 100.99 101] (产生1到10之间的等对数间隔向量,参考logspace ,注意向量的长度) 3、 建立以下矩阵: 1)???? ??????=2222 aMat aMat 一个9×9的矩阵,其元素全为2;(参考ones 或zeros )

2)??????? ?????????=1000005000001 bMat bMat 是一个9×9的矩阵,除主对角上的元素为[1 2 3 4 5 4 3 2 1]外,其余元素均为0。(参考diag )。 3)100 20109212291111 =cMat cMat 为一个10×10的矩阵,可有1:100的向量来产生(参考reshape ) 4)???? ??????=NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN dMat dMat 为3×4的NaN 矩阵,(参考nan ) 5)?? ????---=8710225113eMat 6)产生一个5×3随机整数矩阵fMat ,其值的范围在-3到3之间。(参考rand 和floor 或ceil ) 4、 使用题1中的变量计算下列等式的x,y,z 的值: 1) ) 6/)15((11--+=a e x 2) g g h h b a y /121,)(=+=提示π,参考sqrt 。 3) c c a d c d c R z ))3/sin()]))([(log(π-+= ,其中R 表示取括号内复数的实数部分,c 表示c 的共轭复数,log 是自然对数。(参考real ,conj ,log ) 5、 使用题2中的向量求解一下等式: 1))25.2/(22 25.221 cVec e xVec -=π, 其中cVec 指的是题2 中定义的向量cVec ,一下雷同。 2)22)(bVec aVec yVec T +=,T aVec 表示aVec 的转置 3) )/1(log 10dVec zVec =,10log 表示已10为底的对数,参考log10 6、 使用题2和题3中所产生的向量和矩阵计算以下等式,注意本题的操作

数学软件MATLAB实验作业

数学软件与数学实验作业 一.《数学软件》练习题(任选12题,其中19-24题至少选2题): 3.对下列各式进行因式分解. (1). syms x y >> factor(x^5-x^3) (2). syms x y >> factor(x^4-y^4) (3). syms x >> factor(16-x^4) (4). syms x >> factor(x^3-6*x^2+11*x-6) (5). syms x y >> factor((x+y)^2-10*(x+y)+25) (6). syms x y >> factor(x^2/4+x*y+y^2) (7). syms x y a b >> factor(3*a*x+4*b*y+4*a*y+3*b*x) (8). syms x >> factor(x^4+4*x^3-19*x^2-46*x+120) 5.解下列方程或方程组. (1).solve('(y-3)^2-(y+3)^3=9*y*(1-2*y)') (2). solve('3*x^2+5*(2*x+1)') (3). solve('a*b*x^2+(a^4+b^4)*x+a^3*b^3','x') (4). solve('x^2-(2*m+1)*x+m^2+m','x') (5). [x,y]=solve('4*x^2-9*y^2=15','2*x-3*y=15') 6.计算极限. (1). syms x f=(exp(x)-exp(-x))/sin(x); limit(f,x,0) (2) syms x >> f=(x/(x-1)-1/log(x)); >> limit(f,x,1) (3). syms x >> f=(1-cos(x))/x^2; >> limit(f,x,0)

matlab实验2MATLAB基础知识

实验2 MATLAB基础知识 一、实验目的 1.熟悉MATLAB的数据类型 2.熟悉MATLAB的基本矩阵操作 3.熟悉MATLAB的运算符 4.熟悉MATLAB的字符串处理 二、实验内容 1.创建结构体DataTypes,属性包含MATLAB支持的所有数据类型,并通过赋值构 造结构体二维数组。 DataTypes.char=char([65]); DataTypes.string='hello'; DataTypes.int=100; DataTypes.single=1.560 DataTypes = char: 'A' string: 'hello' int: 100 single: 1.5600 >> DataTypes(2).char=char([66]); DataTypes(2).string='kugou'; DataTypes(2).int=200; DataTypes(2).single=3.14 DataTypes = 1x2 struct array with fields: char string int single 2.用满矩阵和稀疏矩阵存储方式分别构造下述矩阵。 A=

答: A = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 B = A = 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 A = 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 A = 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 1 A = 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1

Matlab数学实验报告一

数学软件课程设计 题目非线性方程求解 班级数学081 姓名曹曼伦

实验目的:用二分法与Newton迭代法求解非线性方程的根; 用Matlab函数solve、fzero、fsolve求解非线性方程(组)的解。 编程实现二分法及Newton迭代法; 学会使用Matlab函数solve、fzero、fsolve求解非线性方程(组)的解。 通过实例分别用二分法及迭代法解非线性方程组并观察收敛速度。 实验内容: 比较求exp(x)+10*x-2的根的计算量。(要求误差不超过十的五次方) (1)在区间(0,1)内用二分法; (2)用迭代法x=(2-exp(x))/10,取初值x=0 。 试验程序 (1)二分法: format long syms x s=exp(x)+10*x-2 a=0; b=1; A=subs(s,a) B=subs(s,b) f=A*B %若f<0,则为由根区间 n=0; stop=1.0e-5; while f<0&abs(a-b)>=stop&n<=100; Xk=(a+b)/2; %二分 M= subs(s, Xk); if M* A<0 symbol=1 %若M= subs(s, Xk)为正,则与a二分 b= Xk else symbol=0 % 若M= subs(s, Xk)为负,则与b二分 a= Xk end n=n+1 end Xk n (2)牛顿迭代法; format long

syms x s= (2-exp(x))/10; %迭代公式 f=diff(s); x=0; %迭代初值 a=subs(f,x); %判断收敛性(a是否小于1) s=(2-exp(x))/10; stop=1.0e-5; %迭代的精度 n=0; while a<1&abs(s-x)>=stop&n<=100; x=s %迭代 s=(2-exp(x))/10; n=n+1 end 实验结果: (1)二分法: symbol =1 b =0.50000000000000 n =1 symbol =1 b =0.25000000000000 n =2 symbol =1 b =0.12500000000000 n =3 symbol =0 a =0.06250000000000 n =4 symbol =1 b =0.09375000000000 n =5 symbol =0 a =0.07812500000000 n =6 symbol =1 b =0.09054565429688 n =15 symbol =1 b =0.09053039550781 n =16 symbol =0 a =0.09052276611328 n =17 Xk =0.09052276611328 n =17 (2)迭代法 由x =0.10000000000000 n =1 x =0.08948290819244 n =2 x =0.09063913585958 n =3 x =0.09051261667437 n =4 x =0.09052646805264 n =5 试验结果可见用二分法需要算17次,而用迭代法求得同样精度的解仅用5次,但由于迭代法一般只具有局部收敛性,因此通常不用二分法来求得非线性方程的精确解,而只用它求得根的一个近似解,再用收敛速度较快的迭代法求得其精确解。

实验1_基于MATLAB的图像基本操作

第1次实验基于MATLAB的图像基本操作 二、实验内容和要求: 1.实现图像Baboon.bmp(MATLAB自带)的读入(可使用imread)和显示(可使用imshow)操作,代码加上足够的注释,需要建立一个M文件实现。 I=imread('F:\标准图像\Baboon.bmp');//读入图像 imshow(I);//显示图像 2.编程实现将一幅RGB图像转换为二值图像,并在一个窗口同时显示处理过程中得到的每一个图像和原图像,同时需要给图像加上标题。(原始数据可以是任意的RGB图像)。需要新建一个M文件实现。 figure,subplot(1,3,1),imshow(I(:,:,1)),title('R'); subplot(1,3,2),imshow(I(:,:,2)),title('G'); subplot(1,3,3),imshow(I(:,:,3)),title('B'); 3.计算图象统计参数: 读取图像(文件名为‘cameraman.tif’); 最大值 最小值 均值 K=imread('cameraman.tif'); d_max=max(K(:)) d_min=min(K(:)) d_mean=mean(K(:)) 4.利用帮助系统了解im2double,imresize,image函数的作用和语法,并利用这些函数处理已知图像pout.tif(MATLAB自带)并显示处理前后效果。 J=imread('pout.tif'); J1=im2double(J); figure,subplot(1,2,1),imshow(J),title('Before') subplot(1,2,2),imshow(J1),title('After') J2=imresize(J,0.3); figure,subplot(1,2,1),imshow(J),title('Before') subplot(1,2,2),imshow(J2),title('After') figure,subplot(1,2,1),imshow(J),title('Before') subplot(1,2,2),image(J);title('After') 1

MATLAB实验练习题(计算机)-南邮-MATLAB-数学实验大作业答案

“”练习题 要求:抄题、写出操作命令、运行结果,并根据要求,贴上运行图。 1、求230x e x -=的所有根。(先画图后求解)(要求贴图) >> ('(x)-3*x^2',0) = -2*(-1/6*3^(1/2)) -2*(-11/6*3^(1/2)) -2*(1/6*3^(1/2)) 3、求解下列各题: 1)30 sin lim x x x x ->- >> x;

>> (((x))^3) = 1/6 2) (10)cos ,x y e x y =求 >> x; >> ((x)*(x),10) = (-32)*(x)*(x) 3)2 1/2 0(17x e dx ?精确到位有效数字) >> x; >> ((((x^2),0,1/2)),17) =

0.54498710418362222 4)4 2 254x dx x +? >> x; >> (x^4/(25^2)) = 125*(5) - 25*x + x^3/3 5)求由参数方程arctan x y t ??=? =??dy dx 与二阶导 数22 d y dx 。 >> t; >> ((1^2))(t); >> ()() = 1

6)设函数(x)由方程e所确定,求y′(x)。>> x y; *(y)(1); >> ()() = (x + (y)) 7) sin2 x e xdx +∞- ? >> x; >> ()*(2*x); >> (y,0) = 2/5

8) 08x =展开(最高次幂为) >> x (1); taylor(f,0,9) = - (429*x^8)/32768 + (33*x^7)/2048 - (21*x^6)/1024 + (7*x^5)/256 - (5*x^4)/128 + x^3/16 - x^2/8 + 2 + 1 9) 1sin (3)(2)x y e y =求 >> x y; >> ((1)); >> ((y,3),2) =

matlab基础实验

实验一 MATLAB基础知识 一、实验目的 1.熟练掌握Matlab的启动与退出; 2. 熟悉Matalb的命令窗口,常用命令和帮助系统; 3. 熟悉Matalb的数据类型; 4. 熟悉Matlab的基本矩阵操作,运算符和字符串处理 二、实验设备 1.方正电脑 2.MATLAB软件 三、实验内容 1. 已知矩阵 A=[3 4 -1 1 -9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12 -8;-3 6 -7 8 -1 1;8 -4 9 1 3 0] 写出完成下列操作的命令: (1) 将矩阵A的第2-5行中第1,3,5列元素赋给矩阵B; (2) 删除矩阵A的第7号元素; (3) 将矩阵A的每个元素加上30; (4) 求矩阵A的大小和维数; (5) 将矩阵A的右下角3*2矩阵构成矩阵C; (6) 输出[-5,5]范围内的所有元素; 程序: A=[3 4 -1 1 -9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12 -8;-3 6 -7 8 -1 1;8 -4 9 1 3 0] %(1) B=A(2:5,[1 3 5]) %(2) A2=A; A2(7)=[] %(3) A3=A+30 %(4) length(A) size(A) %(5) C=A(end-2:end,end-1:end) %(6) A6=A.*(A>=-5 & A<=5) 结果: A =

3 4 -1 1 -9 10 6 5 0 7 4 -16 1 -4 7 -1 6 -8 2 -4 5 -6 12 -8 -3 6 -7 8 -1 1 8 -4 9 1 3 0 B = 6 0 4 1 7 6 2 5 12 -3 -7 -1 A2 = Columns 1 through 7 3 6 1 2 -3 8 5 Columns 8 through 14 -4 -4 6 -4 -1 0 7 Columns 15 through 21 5 -7 9 1 7 -1 - 6 Columns 22 through 28 8 1 -9 4 6 12 -1 Columns 29 through 35 3 10 -16 -8 -8 1 0 A3 = 33 34 29 31 21 40 36 35 30 37 34 14

MATLAB数学实验第二版答案(胡良剑)

数学实验答案 Chapter 1 Page20,ex1 (5) 等于[exp(1),exp(2);exp(3),exp(4)] (7) 3=1*3, 8=2*4 (8) a为各列最小值,b为最小值所在的行号 (10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture (11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10) (12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10) Page20, ex2 (1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b (2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码 Page20,ex3 >> r=2;p=0.5;n=12; >> T=log(r)/n/log(1+0.01*p) Page20,ex4 >> x=-2:0.05:2;f=x.^4-2.^x; >> [fmin,min_index]=min(f) 最小值最小值点编址 >> x(min_index) ans = 0.6500 最小值点 >> [f1,x1_index]=min(abs(f)) 求近似根--绝对值最小的点 f1 = 0.0328 x1_index = 24 >> x(x1_index) ans = -0.8500 >> x(x1_index)=[];f=x.^4-2.^x; 删去绝对值最小的点以求函数绝对值次小的点 >> [f2,x2_index]=min(abs(f)) 求另一近似根--函数绝对值次小的点 f2 = 0.0630 x2_index = 65 >> x(x2_index) ans = 1.2500

实验一 Matlab基本操作

实验一Matlab基本操作 题目: 1.利用基本矩阵产生 3x3 和15x8 的单位阵,全1 阵,全0 阵,均匀分布的随 机阵([-1,1]之间),正态分布随机阵(方差4,均值1) 2.利用diag()函数和rot90()产生下列矩阵: 然后求解a 阵的逆矩阵aa 及b 阵的特征值和对应特征向量,并利用reshape 将 aa 阵变换成行向量。 3.产生一均匀分布在(-5,5)随机阵(50x2),精确到小数点后一位。 4.编程实现当α∈[-π,π],间隔为1o 时,求解正弦和余弦的值,并利用plot() 函数绘制正弦,余弦曲线。 5.利用rand 函数产生(0,1)间均匀分布的10x10 随机矩阵a,然后统计a 中大于等于0.6 的元素个数。 6.利用randn 函数产生均值为0,方差为1 的10x10 正态分布随机阵,然后统计其中大于-0.5,小于0.5 的元素个数。 7.编程实现下表功能: 8.有一矩阵a,找出矩阵中其值大于1 的元素,并将他们重新排列成列向量b。 9.在一保定市区9 月份平均气温变化测量矩阵temp_Baoding_sep 中(48x30),存在有奇异值(大于42o C,小于0o C),编程实现删除奇异值所在的行。 10.在给定的100x100 矩阵中,删除整行内容全为0 的行,删除整列内容全为0 的列。 程序: 1. %3X3矩阵 a1=eye(3) a2=ones(3) a3=zeros(3) a4=1-2*rand(3) a5=2*randn(3)+1 %15X8矩阵 b1=eye(15,8) b2=ones(15,8) b3=zeros(15,8) b4=1-2*rand(15,8) b5=2*randn(15,8)+1 运行结果:

山东建筑大学数学实验期末作业matlab

数学实验 期 末 作 业 学号: 班级: 姓名:

1. 求函数x x y 2sin 3=的5阶导数。 2. 使用sparse 命令描述? ? ???? ? ? ??30001 020******* 01020 10003。 3. 求解边值问题 1)0(,0)0(,34,43==+-=+=g f g f dx dg g f dx df 。 4. 建立函数1 2sin )(3-=x x f x 的M-文件,并计算)2(f 和)10(f 。 5. 计算二重积分dy dx x y ??211 0][。 6. 已知数列满足2,11 01=+= +a ka a k k ,求5a ,并要求最后结果分别以小数点后两位和有理数这两种数据显示格式输出。

7. 大约在1500年前,《孙子算经》中就记载了这个有趣的问题:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?”请根据你的思路编程求解。 8. 绘制以下方程所表示的图形。 (1)x x y -=23 2 (2)y z cos =绕z 轴的旋转曲面 (3))40(,) 2sin(sin )]2cos(4[cos )]2cos(4[π<

10.根据中华人民共和国个人所得税法规定:公民的个人工资、薪金应依法缴纳个人所得税。所得税计算办法为:在每个人的月收入中超过2000元以上的部分应该纳税,这部分收入称为应纳税所得额。应纳税所得额实行分段累计税率,按下列税率表计算: 个人所得税税率表: 等级全月应纳税所得额税率(%) 1 不超过500元的部分 5 2 超过500元,不到2000元的部分10 3 超过2000元,不到5000元的部分15 4 超过5000元,不到20000元的部分20 5 超过20000元,不到40000元的部分25 6 超过40000元,不到60000元的部分30 7 超过60000元,不到80000元的部分35 8 超过80000元,不到100000元的部分40 9 超过100000元的部分45 若某人的工资是x元,试建立税款y与收入x之间的M-文件,并要求程序运行时可以告知操作者“please input the number of your wage”。

Matlab基础知识点汇总

MATLAB讲义 第一章 MATLAB系统概述 1.1 MATLAB系统概述 MATLAB(MATrix LABoratory)矩阵实验室的缩写,全部用C语言编写。 特点: (1)以复数矩阵作为基本编程单元,矩阵运算如同其它高级语言中的语言变量操作一样方便,而且矩阵无需定义即可采用。 (2)语句书写简单。 (3)语句功能强大。 (4)有丰富的图形功能。如plot,plot3语句等。 (5)提供了许多面向应用问题求解的工具箱函数。目前,有20多个工具箱函数,如信号处理、图像处理、控制系统、系统识别、最优化、神经网络的模糊系统等。 (6)易扩充。 1.2 MATLAB系统组成 (1)MATLAB语言 MATLAB语言是高级的矩阵、矢量语言,具有控制流向语句、函数、数据结构、输入输出等功能。同时MATLAB又具有面向对象编程特色。MATLAB语言包括运算符和特殊字符、编程语言结构、字符串、文件输入/输出、时间和日期、数据类型和结构等部分。 (2)开发环境 MATLAB开发环境有一系列的工具和功能体,其部分具有图形用户界面,包括MATLAB桌面、命令窗口、命令历史窗口、帮助游览器、工作空间、文件和搜索路径等。 (3)图形处理 图形处理包括二维、三维数据可视化,图像处理、模拟、图形表示等图形命令。还包括低级的图形命令,供用户自由制作、控制图形特性之用。 (4)数学函数库 有求和、正弦、余弦等基本函数到矩阵求逆、求矩阵特征值和特征矢量等。 MATLAB数学函数库可分为基本矩阵和操作、基本数学函数、特殊化数学函数、线性矩阵函数、数学分析和付里叶变换、多项式和二重函数等。 (5)MATLAB应用程序接口(API) MATLAB程序可以和C/C++语言及FORTRAN程序结合起来,可将以前编写的C/C++、FORTRAN语言程序移植到MATLAB中。 1.3 MATLAB的应用围包括: MATLAB的典型应用包括: ●数学计算 ●算法开发 ●建模、仿真和演算 ●数据分析和可视化 ●科学与工程绘图 ●应用开发(包括建立图形用户界面) 以矩阵为基本对象 第二章 Matlab基础

MATLAB实验报告

实验一 MATLAB 环境的熟悉与基本运算 一、实验目的及要求 1.熟悉MATLAB 的开发环境; 2.掌握MATLAB 的一些常用命令; 3.掌握矩阵、变量、表达式的输入方法及各种基本运算。 二、实验内容 1.熟悉MATLAB 的开发环境: ① MATLAB 的各种窗口: 命令窗口、命令历史窗口、工作空间窗口、当前路径窗口。 ②路径的设置: 建立自己的文件夹,加入到MATLAB 路径中,并保存。 设置当前路径,以方便文件管理。 2.学习使用clc 、clear ,了解其功能和作用。 3.矩阵运算: 已知:A=[1 2;3 4]; B=[5 5;7 8]; 求:A*B 、A.*B ,并比较结果。 4.使用冒号选出指定元素: 已知:A=[1 2 3;4 5 6;7 8 9]; 求:A 中第3列前2个元素;A 中所有列第2,3行的元素; 5.在MATLAB 的命令窗口计算: 1) )2sin(π 2) 5.4)4.05589(÷?+ 6.关系及逻辑运算 1)已知:a=[5:1:15]; b=[1 2 8 8 7 10 12 11 13 14 15],求: y=a==b ,并分析结果 2)已知:X=[0 1;1 0]; Y=[0 0;1 0],求: x&y+x>y ,并分析结果 7.文件操作 1)将0到1000的所有整数,写入到D 盘下的文件 2)读入D 盘下的文件,并赋给变量num

8.符号运算 1)对表达式f=x 3 -1 进行因式分解 2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并 3)求 3(1)x dz z +? 三、实验报告要求 完成实验内容的3、4、5、6、7、8,写出相应的程序、结果

matlab操作实验报告

实验一matlab基本操作 一、实验目的 熟悉matlab的安装与启动;熟悉matlab用户界面;熟悉matlab功能、建模元素;熟悉matlab优化建模过程。 二、实验设备与工具 1.计算机 2.matlab软件 三、实验步骤 1. 了解matlab的硬件和软件必备环境; 2. 启动matlab; 3. 学习优化建模过程。 四、实验报告要求 1. 写出matlab系统界面的各个构成;以及系统布局区的组成;以及每一部 分的功能; 2. 优化建模过程应用举例 五、实验内容 (一)、Matlab操作界面 1.命令窗口(command window) 2.命令历史窗口(command history) 3.工作空间管理窗口(workspace) 4.当前路径窗口(current directory) (二)、优化建模过程应用举例 1、简单矩阵 123 456 789 A ?? ?? =?? ?? ?? 的输入步骤。 (1)在键盘上输入下列内容 A = [1,1,3; 4,5,6; 7,8,9] (2)按【Enter】键,指令被执行。 (3)在指令执行后,MATLAB指令窗中将显示以下结果: A = 1 2 3 4 5 6 7 8 9

2、矩阵的分行输入。 A=[1,2,3 4,5,6 7,8,9] A = 1 2 3 4 5 6 7 8 9 3、指令的续行输入 S=1-1/2+1/3-1/4+ ... 1/5-1/6+1/7-1/8 S = 0.6345 4、画出衰减振荡曲线t e y t 3sin 3-=及其它的包络线3 0t e y -=。t 的取值范围是]4,0[π。 t=0:pi/50:4*pi; y0=exp(-t/3); y=exp(-t/3).*sin(3*t); plot(t,y,'-r',t,y0,':b',t,-y0,':b') grid 5、画出2222) sin(y x y x z ++=所表示的三维曲面。y x ,的取值范围是]8,8[-。 clear;x=-8:0.5:8; y=x';

matlab数学实验报告5

数学实验报告 制作成员班级学号 2011年6月12日

培养容器温度变化率模型 一、实验目的 利用matlab软件估测培养容器温度变化率 二、实验问题 现在大棚技术越来越好,能够将温度控制在一定温度范围内。为利用这种优势,实验室现在需要培植某种适于在8.16℃到10.74℃下能够快速长大的甜菜品种。为达到实验所需温度,又尽可能地节约成本,研究所决定使用如下方式控制培养容器的温度:1,每天加热一次或两次,每次约两小时; 2,当温度降至8.16℃时,加热装置开始工作;当温度达到10.74℃时,加热装置停止工作。 已知实验的时间是冬天,实验室为了其它实验的需要已经将实验室的温度大致稳定在0℃。下表记录的是该培养容器某一天的温度 时间(h)温度(℃)时间(h)温度(℃)09.68 1.849.31 0.929.45 2.959.13 3.878.981 4.989.65 4.988.811 5.909.41 5.908.691 6.839.18 7.008.5217.938.92 7.938.3919.048.66 8.978.2219.968.43 9.89加热装置工作20.848.22 10.93加热装置工作22.02加热装置工作10.9510.8222.96加热装置工作12.0310.5023.8810.59 12.9510.2124.9910.35 13.889.9425.9110.18 三、建立数学模型 1,分析:由物理学中的傅利叶传热定律知温度变化率只取决于温度

差,与温度本身无关。因为培养容器最低温度和最高温度分别是:8.16℃和10.74℃;即最低温度差和最高温度差分别是:8.16℃和10.74℃。而且,16.8/74.10≈1.1467,约为1,故可以忽略温度对温度变化率的影响2, 将温度变化率看成是时间的连续函数,为计算简单,不妨将温度变化率定义成单位时间温度变化的多少,即温度对时间连续变化的绝对值(温度是下降的),得到结果后再乘以一系数即可。 四、问题求解和程序设计流程1)温度变化率的估计方法 根据上表的数据,利用matlab 做出温度-时间散点图如下: 下面计算温度变化率与时间的关系。由图选择将数据分三段,然后对每一段数据做如下处理:设某段数据为{(0x ,0y ),(1x ,1y ),(2x , 2y ),…,(n x ,n y )},相邻数据中点的平均温度变化率采取公式: 温度变化率=(左端点的温度-右端点的温度)/区间长度算得即:v( 2 1i i x x ++)=(1+-i i y y )/(i i x x - +1). 每段首尾点的温度变化率采用下面的公式计算:v(0x )=(30y -41y +2y )/(2x -0x )v(n x )=(3n y -41+n y +2+n y )/(n x -2-n x )

实验二 MATLAB基础知识(二)

Experiment 1. Fundamental Knowledge of Matlab (II) 【Experimental Purposes】 1、熟悉并掌握MATLAB的工作环境。 2、运行简单命令,实现数组及矩阵的输入输出,了解在MATLAB下如何绘图。【Experimental Principle】 1. Vectors Let's start off by creating something simple, like a vector. Enter each element of the vector (separated by a space) between brackets, and set it equal to a variable. For example, to create the vector a, enter into the MATLAB command window (you can "copy" and "paste" from your browser into MATLAB to make it easy): a = [1 2 3 4 5 6 9 8 7] MATLAB should return: a = 1 2 3 4 5 6 9 8 7 To generate a series that does not use the default of incrementing by 1, specify an additional value with the colon operator (first:step:last). In between the starting and ending value is a step value that tells MATLAB how much to increment (or decrement, if step is negative) between each number it generates. To generate a vector with elements between 0 and 20, incrementing by 2(this method is frequently used to create a time vector), use t = 0:2:20 t = 0 2 4 6 8 10 12 14 16 18 20 Manipulating vectors is almost as easy as creating them. First, suppose you would like to add 2 to each of the elements in vector 'a'. The equation for that looks like: b = a + 2 b = 3 4 5 6 7 8 11 10 9 Now suppose, you would like to add two vectors together. If the two vectors are the same length, it is easy. Simply add the two as shown below: c = a + b c = 4 6 8 10 12 14 20 18 16 Subtraction of vectors of the same length works exactly the same way. MATLAB sometimes stores such a list in a matrix with just one row, and other times in a matrix with just one column. In the first instance, such a 1-row matrix is called a row-vector; in the

MATLAB数学实验100例题解

一元函数微分学 实验1 一元函数的图形(基础实验) 实验目的 通过图形加深对函数及其性质的认识与理解, 掌握运用函数的图形来观察和分析 函数的有关特性与变化趋势的方法,建立数形结合的思想; 掌握用Matlab 作平面曲线图性的方法与技巧. 初等函数的图形 2 作出函数x y tan =和x y cot =的图形观察其周期性和变化趋势. 解:程序代码: >> x=linspace(0,2*pi,600); t=sin(x)./(cos(x)+eps); plot(x,t);title('tan(x)');axis ([0,2*pi,-50,50]); 图象: 程序代码: >> x=linspace(0,2*pi,100); ct=cos(x)./(sin(x)+eps); plot(x,ct);title('cot(x)');axis ([0,2*pi,-50,50]); 图象: cot(x) 4在区间]1,1[-画出函数x y 1 sin =的图形. 解:程序代码: >> x=linspace(-1,1,10000); y=sin(1./x); plot(x,y); axis([-1,1,-2,2]) 图象:

二维参数方程作图 6画出参数方程???==t t t y t t t x 3cos sin )(5cos cos )(的图形: 解:程序代码: >> t=linspace(0,2*pi,100); plot(cos(t).*cos(5*t),sin(t).*cos(3*t)); 图象: 极坐标方程作图 8 作出极坐标方程为10/t e r =的对数螺线的图形. 解:程序代码: >> t=0:0.01:2*pi; r=exp(t/10); polar(log(t+eps),log(r+eps)); 图象: 90270 分段函数作图 10 作出符号函数x y sgn =的图形. 解:

MATLAB基本操作实验报告

MATLAB基本操作 实验报告 课程名称: 院系: 专业班级: 学号: 学生姓名: 指导教师: 开课时间:至学年第学期

一、学生撰写要求 按照实验课程培养方案的要求,每门实验课程中的每一个实验项目完成后,每位参加实验的学生均须在实验教师规定的时间内独立完成一份实验报告,不得抄袭,不得缺交。 学生撰写实验报告时应严格按照本实验报告规定的内容和要求填写。字迹工整,文字简练,数据齐全,图表规范,计算正确,分析充分、具体、定量。 二、教师评阅与装订要求 1.实验报告批改要深入细致,批改过程中要发现和纠正学生实验报告中的问题,给出评语和实验报告成绩,签名并注明批改日期。实验报告批改完成后,应采用适当的形式将学生实验报告中存在的问题及时反馈给学生。 2.实验报告成绩用百分制评定,并给出成绩评定的依据或评分标准(附于实验报告成绩登记表后)。对迟交实验报告的学生要酌情扣分,对缺交和抄袭实验报告的学生应及时批评教育,并对该次实验报告的分数以零分处理。对单独设课的实验课程,如学生抄袭或缺交实验报告达该课程全学期实验报告总次数三分之一以上,不得同意其参加本课程的考核。 3.各实验项目的实验报告成绩登记在实验报告成绩登记表中。本学期实验项目全部完成后,给定实验报告综合成绩。 4.实验报告综合成绩应按课程教学大纲规定比例(一般为10-15%)计入实验课总评成绩;实验总评成绩原则上应包括考勤、实验报告、考核(操作、理论)等多方面成绩; 5.实验教师每学期负责对拟存档的学生实验报告按课程、学生收齐并装订,按如下顺序装订成册:实验报告封面、实验报告成绩登记表、实验报告成绩评定依据、实验报告(按教学进度表规定的实验项目顺序排序)。装订时统一靠左侧按“两钉三等分”原则装订。

南邮MATLAB数学实验答案(全)

第一次练习 教学要求:熟练掌握Matlab 软件的基本命令和操作,会作二维、三维几何图形,能够用Matlab 软件解决微积分、线性代数与解析几何中的计算问题。 补充命令 vpa(x,n) 显示x 的n 位有效数字,教材102页 fplot(‘f(x)’,[a,b]) 函数作图命令,画出f(x)在区间[a,b]上的图形 在下面的题目中m 为你的学号的后3位(1-9班)或4位(10班以上) 1.1 计算30sin lim x mx mx x →-与3 sin lim x mx mx x →∞- syms x limit((902*x-sin(902*x))/x^3) ans = 366935404/3 limit((902*x-sin(902*x))/x^3,inf) ans = 0 1.2 cos 1000 x mx y e =,求''y syms x diff(exp(x)*cos(902*x/1000),2) ans = (46599*cos((451*x)/500)*exp(x))/250000 - (451*sin((451*x)/500)*exp(x))/250 1.3 计算 22 11 00 x y e dxdy +?? dblquad(@(x,y) exp(x.^2+y.^2),0,1,0,1) ans = 2.1394 1.4 计算4 2 2 4x dx m x +? syms x int(x^4/(902^2+4*x^2)) ans = (91733851*atan(x/451))/4 - (203401*x)/4 + x^3/12 1.5 (10)cos ,x y e mx y =求 syms x diff(exp(x)*cos(902*x),10) ans = -356485076957717053044344387763*cos(902*x)*exp(x)-3952323024277642494822005884*sin(902*x)*exp(x) 1.6 0x =的泰勒展式(最高次幂为4).

实验一 MATLAB基础训练

实验一 MATLAB基础训练 一、实验目的 本次上机实验主要练习使用Matlab的基本操作和基础知识,包括数组(复数、向量、矩阵、结构体数组等)的创建和数组元素的操作和运算、矩阵的运算、Matlab的运算符(尤其是点运算‘.’)、脚本M文件和函数M文件的编写、Matlab文件的编程(基本的流程控制结构)、基本的二维和三维绘图方法以及图形的标注等。希望通过本次实验使大家尽量在短时间内(4学时)掌握Matlab的基本操作和基础知识,为后面的实验项目奠定基础。 二、实验原理 参见PPT中有关内容。 三、实验内容 1. 上机练习课件中的例子。 2. 设两个复数a=1+2i, b=3-4i, 计算a+b, a-b, a*b, a/b, a和b的模。 3. 计算下式的结果,其中x=-3.5°, y=6.7° (提示:①应将角度单位由度转换为数学函数所能处理的弧度值;②求根函数sqrt,取绝对值函数abs,具体用法用help查询) 4. 对矩阵 123 456 789 A ?? ?? =?? ?? ?? , 实现下列操作: (1) 左右翻转(fliplr命令) (2) 上下翻转(flipud命令) (3) 利用cat命令分别将A扩展成3×6和6×3的矩阵 (3) 分别提取A的第2行,第2列,对角线元素 (4) 删除A的第2行2列的元素 (提示:将矩阵元素赋空阵[]可以删除元素,注意此时元素的访问只能使用单下标的方式。观察删除元素后,A中元素的排列方式的变化) 5. 创建[0,2π]区间上拥有100个等间隔元素的列向量 ...x.(Matlab默认是行向量),并绘制 y=sin(x1/3)的函数图像。 6. 创建如下图所示的单结构体数组。

相关文档