MATLAB2Word文档格式.docx

上传人:b****6 文档编号:16826320 上传时间:2022-11-26 格式:DOCX 页数:30 大小:123.10KB
下载 相关 举报
MATLAB2Word文档格式.docx_第1页
第1页 / 共30页
MATLAB2Word文档格式.docx_第2页
第2页 / 共30页
MATLAB2Word文档格式.docx_第3页
第3页 / 共30页
MATLAB2Word文档格式.docx_第4页
第4页 / 共30页
MATLAB2Word文档格式.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

MATLAB2Word文档格式.docx

《MATLAB2Word文档格式.docx》由会员分享,可在线阅读,更多相关《MATLAB2Word文档格式.docx(30页珍藏版)》请在冰豆网上搜索。

MATLAB2Word文档格式.docx

即使有部分源代码,用户也会感到麻烦,且不能保证运算的稳定性。

解线性方程的程序用FORTRAN和C这样的高级语言编写至少需要好几十行。

再如用双步QR方法求解矩阵特征值,如果用FORTRAN编写,至少需要四百多行,调试这种几百行的计算程序可以说很困难。

以下为用MATLAB编写以上两个小程序的具体过程。

用MATLAB求解下列方程,并求矩阵A的特征值。

其中:

解为:

x=A\b;

设A的特征值组成的向量为e,e=eig(A)。

可见,MATLAB的程序极其简短。

更为难能可贵的是,MATLAB甚至具有一定的智能水平,比如上面的解方程,MATLAB会根据矩阵的特性选择方程的求解方法,所以用户根本不用怀疑MATLAB的准确性。

②运算符丰富。

由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短,具体运算符见附表。

③MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。

④语法限制不严格,程序设计自由度大。

例如,在MATLAB里,用户无需对矩阵预定义就可使用。

⑤程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。

⑥MATLAB的图形功能强大。

在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。

MATLAB还具有较强的编辑图形界面的能力。

⑦MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。

由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。

⑧功能强劲的工具箱是MATLAB的另一重大特色。

MATLAB包含两个部分:

核心部分和各种可选的工具箱。

核心部分中有数百个核心内部函数。

其工具箱又可分为两类:

功能性工具箱和学科性工具箱。

功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。

功能性工具箱能用于多种学科。

而学科性工具箱是专业性比较强的,如control、toolbox、signalprocessingtoolbox、communicationtoolbox等。

这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。

下表列出了MATLAB的核心部分及其工具箱等产品系列的主要应用领域。

MATLAB的工具箱及主要应用领域

工具箱名称

应用领域

MATLAB核心

Notebook

MATLABComplier

MATLABCMathLibrary

Simulink

SymbolicMath

SimulinkAccelerator

Chemometrics

Communication

ControlSystem

Finance

SystemIdentification

FuzzyLogical

High-orderSpectralAnalysis

ImageProcessing

ModelPredictiveControl

NGAFoundation

NeuralNetwork

MMLE3Identification

LMIControl

QFTControlDesign

RobustControl

Spline

Statistics

DSPBlockset

Fixed-PointBlockset

NonlinearControlDesignBlockset

Real-timeWorkshop

RTWAdaExtention

Wavelet

PartialDifferentialEquation

Optimization

Stateflow

SignalProcessing

MuAnalysisandSynthesis

FrequencyDomainIdentificaion

Maptools

⑨源程序的开放性。

开放性也许是MATLAB最受人们欢迎的特点。

除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。

3基本功能

进入MATLAB之后,会看到一个MATLABCommandWindow,称为命令窗,它是最主要的窗口,既是键入命令也是显示计算结果的地方。

另外还有一个编程窗,专门用来编辑应用程序。

还有一个主窗口,用来记录已使用过的历史命令和已打开的目录,方便使用者查找。

如果绘图还会自动弹出一个绘图窗,专门用来显示绘制的图形。

MATLAB一般有3种进行计算的方法,第1种就如同使用计算器,直接输入数值和运算符,立即从屏幕上获得结果。

第2种先对变量赋值,然后再输入由变量构成的表达式,也可立即获得结果。

第3种,就是采用编程的方法来解决较复杂的,诸如含有判断、循环、迭代、递归等算法的较复杂的问题。

上述方法中,第2和第3包括了数组和矩阵运算,只要定义了数组和矩阵变量,就可以如同普通代数运算一样直接用变量进行数学运算,十分方便。

MATLAB提供的基本算术运算有:

加(+)、减()、乘(*)、除(/)、幂次方(^)。

MATLAB的关系和逻辑运算符与其他软件基本相同,仅列表加以说明:

符号

功能

=

赋值运算

&

逻辑与运算

==

关系运算,相等

|

逻辑或运算

不等于

-

逻辑非运算

<

小于

xor

逻辑异或运算

小于等于

……

续行标志

>

大于

分行符,结果不显示

大于等于

分行符,结果显示

%

注释标志

矩阵转置

.’

向量转量

MATLAB可以将计算结果以不同的精度输出,列表说明如下:

命令

说明

formatshort

默认显示,保留小数点后4位

formatlong

有效数字16位

formatlonge

有效数字16位加3位指数

formatshorte

有效数字5位加3位指数

formatbank

保留两位小数位

format+

只给出正、负

formatrational

以分数形式表示

formathex

16进制数

formatlongg

15位有效数

formatshortg

5位有效数

MATLAB对使用变量名称的规定:

(1)变量名称的英文大小写是有区别的(apple、Apple、AppLe三个变量不同)。

(2)变量的长度上限为19个字母。

(3)变量名的第一个字母必须是英文,随后可以掺杂英文字、数字或是下划线。

下表给出MATLAB所定义的特殊变量及其意义。

变量名

意义

help

在线帮助,如helpquit

who

列出所有定义过的变量名称

ans

默认的用来表示计算结果的变量名

eps

极小值=2.2204e-16

pi

inf

无穷大的数

nan

非数值

4数组与矩阵

MATLAB特擅长数组(array)及矩阵(matrix)运算,而这两者基本运算的性质完全不同,数组强调元素对元素的运算,而矩阵则采用线性代数的运算方式。

数组多由一维元素构成,而矩阵中多维元素组成。

下面列表说明如何利用特殊函数创建矩阵。

函数符号

zero(i,j)

创建i行j列的全零矩阵

ones(i,j)

创建i行j列的全1矩阵

eye(i,j)

创建i行j列对角线为1的矩阵

rand(i,j)

创建i行j列的随机矩阵

常用这样的语句来建立一维数组:

x=起始值:

步长:

终止值,例如x=0:

0.l:

l则可以生成从0开始,每次递增0.l,一直到1的11个数构成的一维数组x。

同样也可以用linspace(起始值,终止值,等分数)命令,例如运行x=linspace(0,l,50),则可以生成从0到1,等分成50等份的51个数组成的一维数组x。

若不给出等分数,则自动进行100等分处理。

数组的运算符号有以下几种:

十加、—减、*乘、./左除、.\右除、.^次方、.’转置

在数学建模中,许多运算都是以数组为对象,即是以数组的元素为对象。

因此除了+,这两个运算外,其余的运算符号(乘、除、次方)都要加上.来强调两个数组之间元素的运算,称为点乘、点除和点幂运算。

设a,b各代表两个不同的数组,a与b之间的运算是元素对元素的方式,则点乘、点除和点幂次方可用下面的表达式来说明:

5简单绘图

MATLAB是基本的绘图命令有二维曲线绘图命令plot和三维曲线绘图命令plot3。

p1ot用来画x对y的二维曲线图,例如y=sinx,0≤x≤2。

则以下语句执行后可得到有关x和y的图形:

x=1inspace(0,2*pi,20);

%设定x分别为0、2/20、2*2/20、3*

2/20、…2

y1=sinx,y2=cosx;

%y1,y2分别是与x对应的正弦和余弦值

plot(x,y1,x,y2);

%在同一坐标图上分别绘制正弦和余弦曲线

如果想分几次在同一坐标图上绘制不同的曲线,可使用hold命令:

holdon;

%保持坐标图不变,后绘制的图形叠加在原图上

holdoff;

%解除对原图的保持,将原图清除后再绘制新图

plot命令的基本格式是:

plot(x数组,y数组,‘颜色图标’),如需要在同一图中画多根曲线,只需依照此基本格式往后追加其他的x和y的数组即可。

其中颜色和图标的英文缩略符请参看下表:

参数

意义

r

红色

实线

g

绿色

——

虚线

b

蓝色

点线

y

黄色

—.

点划线

m

洋红色

o

圆圈

c

青色

x

叉号

w

白色

+

加号

k

黑色

s

正方形

*

星号

d

菱形

.

点号

还可以利用命令xlabel、ylabel、title等分别在x轴上、y轴上以及题头上加上文字说明。

grid命令用来在图形上添加或者删除网格线,它是一个切换命令,若第一次是添加,则再执行一次就是删除。

还有text和gtext命令,可用来在图中加上文字说明,用法如下:

text(x,y,'

string'

)%x,y是文字安放的起始坐标,String是要添加的文字。

gtext('

)%在命令执行后,可用鼠标将文字拖放到图中的任何位置。

subplot命令用来画多个子图,它的命令格式是:

subplot(m,n,p),其中m,n表示一共有m行n列个子图,p是子图的图号,编号的规则是从左到右和从上到下,请看下例:

x=[0257101215172021];

y=2*x;

subplot(2,2,1),p1ot(x,y);

%画左上角的l号图

subplot(2,2,2),semilogx(x,y);

%x轴采用对数坐标画右上角的2号图

subplot(2,2,3),semilogy(x,y);

%y轴采用对数坐标画左下角的3号图

subplot(2,2,4);

loglog(x,y);

%x和y轴都采用对数坐标画右下角的4

号图

下面给出了其他的二维绘图函数命令:

函数

bar

直方图

fill

实心图

area

区域图

feather

羽毛图

errobar

图形加上误差范围

compass

罗盘图

polar

极坐标图

quiver

向量场图

hist

累计图

pie

饼图

rose

极坐标累计图

convhull

凸壳图

stairs

阶梯图

scatter

离散点图

stem

针状图

在绘图时若要控制绘图纵横轴的比例,可以用下表中的axis命令:

axis([xminxmaxyminymax])

分别以xmin、xmax和ymin、ymax来设定横轴和纵轴的下限及上限

axisauto

横轴及纵轴依照作图的数据自动设定,横轴及纵轴比例是4:

3

axissquare

横轴及纵轴比例是1:

1

axisequal

将横轴纵轴的比例尺度设成相同

axisxy

按正常第1象限的方式显示坐标

axisij

按第1象限的方式,但y轴递增的方向是由上到下

axisnormal

从equalsquare等方式中返回到正常状态

axisoff

将纵横轴取消

axison

恢复纵轴及横轴

zoom命令用来将图形放大或缩小,它的用法是:

zooon%开始放大图形,然后每按一次Enter键,图形就放大一定比例

zoomout%开始缩小图形,然后每按一次Enter键,图形就缩小一定比例

zoomoff%停止图形的缩放功能

6三维绘图

plot3命令用来画一个三维的曲线,它的格式类似plot,只是增加了z方向的数据。

其基本用法是plot3(X,Y,Z,'

linetype'

),其中的linetype用来设定画线的符号和颜色,所填入的内容同§

5一节介绍的一样,下面给出一个绘制三维曲线图的例子:

t=0:

pi/50:

10*pi;

%给出t值的分布点

piot3(sin(t),cos(t),t)%绘出3维曲线图

title('

Helix'

);

%给出题头

xlabel('

sin(t)'

),ylabel('

cos(t)'

),zlabel('

t'

%分别给3个轴加上标记

axisij;

%改变图上的y轴及曲线的方向

如果要画一个三维曲面,则要用到meshgrid、mesh和surf命令。

先用meshgrid产生x-y平面的二维的网格数据,再由这个二维的网格求出一组相应的Z轴的数据,然后可进行三维曲面的绘制。

下面的例子可说明上述的绘图过程:

x=-7.5:

0.5:

7.5;

y=x;

%先产生x及y两个数组

[X,Y]=meshgrid(x,y);

%再根据meshgrid形成二维的网格数据

R=sqrt(x.^2+Y.^2)+eps;

%加上eps可避免当R在分母趋近于零时无法定义

Z=sin(R)./R;

%求出z轴的数据

mesh(X,Y,Z);

%将z轴的变化值以网格方式画出

surf(X,Y,Z);

%将z轴的变化值以曲面方式画出

Meshplot'

与三维绘图有关的还有等高线图,相关命令为contour,contour3。

contour是将等高线图以二维图表示,其命令格式有两种:

一种是contour(Z)或者是contour(Z,n),其中Z是一个二维矩阵,而n为希望画出的等高线的线数(如果缺省则以自动方式设定);

另一种则是contour(X,Y,Z)或contour(X,Y,Z,n),其中X,Y,Z代表x,y,z轴的数据。

contour3则是将等高线以三维图表示,可利用上例的结果,试画出两种等高线:

contour(X,Y,Z,8)%以二维图的方式做出线数为8的等高线图

contour3(X,Y,Z,8)%以三维图的方式做出线数为8的等高线图

7MATLAB函数

MATLAB之所以运算功能强大,重要原因之一就是它含有丰富的内建函数,例如数学函数中的三角函数、复函数、多项式函数、数据分析函数的求平均值、最大最小值、排序等,以及逻辑/选择函数如if-else等,还有用来模拟随机发生事件的随机函数。

虽然MATLAB提供了数百种内建函数,但也不是包罗万象,为了解决这个问题,MATLAB提供了十分方便的自定义函数(自建函数)的强大功能。

l)常见数学函数

MATLAB提供了许多内建函数,如对数函数、三角函数、多项式函数等。

使用函数需注意,函数名要放

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1