MATLAB入门教程Word下载.docx

上传人:b****1 文档编号:3599049 上传时间:2023-05-02 格式:DOCX 页数:34 大小:625.76KB
下载 相关 举报
MATLAB入门教程Word下载.docx_第1页
第1页 / 共34页
MATLAB入门教程Word下载.docx_第2页
第2页 / 共34页
MATLAB入门教程Word下载.docx_第3页
第3页 / 共34页
MATLAB入门教程Word下载.docx_第4页
第4页 / 共34页
MATLAB入门教程Word下载.docx_第5页
第5页 / 共34页
MATLAB入门教程Word下载.docx_第6页
第6页 / 共34页
MATLAB入门教程Word下载.docx_第7页
第7页 / 共34页
MATLAB入门教程Word下载.docx_第8页
第8页 / 共34页
MATLAB入门教程Word下载.docx_第9页
第9页 / 共34页
MATLAB入门教程Word下载.docx_第10页
第10页 / 共34页
MATLAB入门教程Word下载.docx_第11页
第11页 / 共34页
MATLAB入门教程Word下载.docx_第12页
第12页 / 共34页
MATLAB入门教程Word下载.docx_第13页
第13页 / 共34页
MATLAB入门教程Word下载.docx_第14页
第14页 / 共34页
MATLAB入门教程Word下载.docx_第15页
第15页 / 共34页
MATLAB入门教程Word下载.docx_第16页
第16页 / 共34页
MATLAB入门教程Word下载.docx_第17页
第17页 / 共34页
MATLAB入门教程Word下载.docx_第18页
第18页 / 共34页
MATLAB入门教程Word下载.docx_第19页
第19页 / 共34页
MATLAB入门教程Word下载.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MATLAB入门教程Word下载.docx

《MATLAB入门教程Word下载.docx》由会员分享,可在线阅读,更多相关《MATLAB入门教程Word下载.docx(34页珍藏版)》请在冰点文库上搜索。

MATLAB入门教程Word下载.docx

命令窗口中的Demos链接。

1.1.5自由探索

用户可以尝试点击MATLAB界面上的各个按钮,看看它们的功能。

如果不小心关闭了当前路径窗口、命令历史记录窗口或命令窗口,可以通过菜单栏的“Desktop”菜单中“DesktopLayoutDefault”恢复,如图1.1.3所示:

图1.1.3把MATLAB界面窗口恢复为默认状态

1.2简单的计算与图形功能

1.2.1大材小用

在命令窗口中的>

>

后面输入:

1.369^2+sin(7/10*pi)*sqrt(26.48)/2.9

并按回车键可得:

图1.2.1MATLAB的计算功能

上面输入的“1.369^2+sin(7/10*pi)*sqrt(26.48)/2.9”是一个命令,它要求MATLAB计算

的值。

经过MATLAB运算的结果为3.3097(近似值)。

可见MATLAB的数学表达式命令格式与很多常用的高级语言相似。

当然MATLAB的功能远远不止这种简单的计算。

点击命令窗口中的Demos链接就可以看到MATLAB的其他基本功能。

1.2.2打开简单的图形窗口

funtool

并按回车键可得如图1.2.2所示的三个窗口:

图1.2.2MATLAB的计算功能

其中上面的两个窗口“Figure1”和“Figure2”中所展示的就是下面的窗口“Figure3”中的两个函数“f=x”和“g=1”在区间[2,2]上的图象。

用户可以在“Figure3”的窗口中填写适当的函数表达式,回车后就可以从上面的窗口中观察到该函数的图象了,也可以通过“Figure3”中的功能键按钮,对所上述函数进行简单操作。

求函数f(x)的导数;

求函数f(x)的积分;

对函数f(x)简化;

求函数f(x)的分子部分;

求函数f(x)的分母部分;

求函数f(x)的倒数;

求函数的反函数。

第2章矩阵及其基本运算

本章从最基本的运算单元(矩阵)出发,介绍MATLAB的命令及其用法。

2.1矩阵的输入与生成

2.1.1实数值矩阵的输入

不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:

同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;

不同的行用分号(;

)分隔。

所有元素处于一对方括号([])内。

如:

图2.1.1输入一个行矩阵

注意:

命令行中的百分号(%)起注释的作用,MATLAB自动将%以及其后的内容显示为绿色,在执行这个命令行的命令时,自动忽略%以及其后的内容。

这一点与其他高级计算机语言是类似的。

又如,在命令窗口的提示符>

后面输入

X_Data=[2.323.43;

4.375.98]%这是一个2阶方阵

并按回车键可得

X_Data=

2.32003.4300

4.37005.9800

再如:

图2.1.2可以分行输入一个行矩阵

上面的所提到的逗号和分号在输入的时候要注意输入法状态。

以“智能ABC输入法”为例,在“全角

”或“中文标点

”格式下输入的逗号(,)和分号(;

)将会被MATLAB用红色提示为错误输入,如图2.1.3所示:

图2.1.3智能ABC输入法5.0版的几种输入状态

图2.1.4MATLAB提示

因此,应该在“半角”及“英文标点”格式

下输入标点符号,如逗号(,),分号(;

),句号/小数点(.)。

2.1.2特殊矩阵的生成

1.全零阵。

图2.1.5用函数zeros生成全零阵

2.单位阵。

图2.1.6用函数eye生成全零阵

3.全1阵。

函数ones

格式Y=ones(n)%生成n×

n全1阵

Y=ones(m,n)%生成m×

Y=ones(size(A))%生成与矩阵A相同大小的全1阵

2.2矩阵运算

2.2.1加、减运算(+,-)

图2.2.1矩阵的加减运算

如果把图2.2.1中的命令换成

A=[12;

34];

B=[5,6;

7,8];

C=A+B,D=A-B

则回车后,得到的结果就只有C和D的值了。

由此可见其中的两个分号(一个紧接着A=[12;

34]的后面,另一个紧接着B=[5,6;

7,8]的后面)的作用。

2.2.2乘法

1.两个矩阵相乘(*)。

图2.2.2两个矩阵的乘法运算

2.矩阵的数乘(*)。

图2.2.3矩阵的数乘运算

2.2.3除法运算

MATLAB提供了两种除法运算:

左除(\)和右除(/)。

当矩阵A可逆时,X=A\B是方程A*X=B的解(这里当然还要求A的行数=B的行数),而X=C/A是方程X*A=C的解(这里当然还要求A的列数=C的列数)。

图2.2.7左除和右除

2.2.4矩阵乘方(^)

图2.2.8矩阵的乘方

上面的[1,2;

2,1]^(-2)要求[1,2;

2,1]是可逆的。

2.2.5矩阵转置(’)

图2.2.9矩阵的转置

若A为复数矩阵,则A’表示A的共轭转置。

对于复数矩阵A,若仅希望转置,则用如下命令:

A.’。

见图2.2.10。

图2.2.10复矩阵的转置与共轭转置

2.2.6方阵的行列式(det)

命令格式:

det(A)

例如:

det([1,2;

3,4])

ans=

-2

又如:

A=[1,2,3;

4,5,6;

7,8,9];

D=det(A)

D=

0

2.2.7方阵的逆矩阵(inv)

inv(A)

inv([1,2;

-2.00001.0000

1.5000-0.5000

若A的行列式的值为0,则MATLAB在执行inv(A)这个命令时会给出警告信息。

例如

图2.2.11对奇异矩阵求逆时MATLAB给出的警告信息

也可以用初等变换的方法来求逆矩阵。

图2.2.12用初等变换的方法来求逆矩阵

用formatrat命令可以使输出格式为有理格式。

图2.2.13以有理格式输出结果

第3章线性方程组

其实在matlab中解方程组还是很方便的,例如,对于代数方程组Ax=b(A为系数矩阵,非奇异)的求解,MATLAB中有两种方法:

(1)x=inv(A)*b—采用求逆运算解方程组;

(2)x=A\b—采用左除运算解方程组。

例:

x1+2x2=8

2x1+3x2=13

A=[1,2;

2,3];

b=[8;

13];

x=inv(A)*b

x=

2.00

3.00

x=A\b

2.00

3.00;

即二元一次方程组的解x1和x2分别是2和3。

对于用matlab解多次的方程组,有符号解法,方法是:

先解出符号解,然后用vpa(F,n)求出n位有效数字的数值解.具体步骤如下:

第一步:

定义变量symsxyz...;

第二步:

求解[x,y,z,...]=solve('

eqn1'

'

eqn2'

...,'

eqnN'

var1'

var2'

...'

varN'

);

第三步:

求出n位有效数字的数值解x=vpa(x,n);

y=vpa(y,n);

z=vpa(z,n);

...。

解二(多)元二(高)次方程组:

x^2+3*y+1=0

y^2+4*x+1=0

解法如下:

symsxy;

[x,y]=solve('

x^2+3*y+1=0'

y^2+4*x+1=0'

x=vpa(x,4)

y=vpa(y,4)

结果是:

1.635+3.029*i

1.635-3.029*i

-.283

-2.987

y=

1.834-3.301*i

1.834+3.301*i

-.3600

-3.307。

二元二次方程组,共4个实数根;

用matlab解高次方程组(非符号方程组)

解答如下:

基本方法是:

solve(s1,s2,…,sn,v1,v2,…,vn),即求表达式s1,s2,…,sn组成的方程组,求解变量分别v1,v2,…,vn。

具体例子如下:

x^2+x*y+y=3

x^2-4*x+3=0

解法:

[x,y]=solve('

x^2+x*y+y=3'

x^2-4*x+3=0'

运行结果为

x=

13

y=

1-3/2

即x等于1和3;

y等于1和-1.5

[x,y]=solve('

x^2-4*x+3=0'

x'

y'

3

结果一样,二元二方程都是4个实根。

通过这三个例子可以看出,用matlab解各类方程组都是可以的,方法也有多种,只是用到解方程组的函数,注意正确书写参数就可以了,非常方便。

第4章二维绘图和三维绘图

MATLAB有很强的绘图功能。

本章介绍一些简单的二维绘图和三维绘图命令。

4.1二维图形的绘制

4.1.1二维曲线的简捷绘制

例4.1.1.画出y=xcosx在区间[4,4]上的图形。

解:

在MATLAB的命令窗口输入如下命令:

ezplot('

x*cos(x)'

[-4*pi,4*pi])

运行后得:

图4.1.1用ezplot命令绘制的y=xcosx的图象

例4.1.2.画出椭圆

在区域[3,3][4,4]内的图形。

x^2/4+y^2/5-1'

[-3,3,-4,4])

图4.1.2用ezplot命令绘制的x2/4+y2/5=1的图象

例4.1.3.画出曲线

在区间[0,]内的图形。

sin(3*t)*cos(t)'

'

sin(3*t)*sin(t)'

[0,pi])

图4.1.3用ezplot命令绘制的参数曲线的图象

4.1.2在同一个坐标系内绘制多条曲线

plot(x1,y1,'

s1'

x2,y2,'

s2'

…)

其中:

'

等为可选参数,用来指定绘制曲线的线型、颜色、数据点形状等。

线型可选参数有:

-(实线),:

(虚线),-.(点划线)和--(双划线)。

颜色可选参数有:

y(黄色),m(品红色),c(青色),r(红色),g(绿色),b(蓝色),w(白色)和k(黑色)。

数据点可选参数有:

.(实心点),o(圆圈),x(叉),+(十字),*(星号),s(方块),d(菱形),v(下三角),^(上三角),<

(左三角),>

(右三角),p(五角星)和h(六角星)。

例4.1.4.在同一个坐标系内画出y=e0.1xsin2x和y=xcosx在区间[,]上的图形。

x=-pi:

0.1:

pi;

%设置x的取值范围和取点间距

y1=exp(0.1*x).*sin(2*x);

y2=x.*cos(x);

%注意其中的.*

plot(x,y1,'

*r'

x,y2,'

ob'

)%两条曲线用不同的数据点形状和颜色

图4.1.4在同一个坐标系内绘制多条曲线

4.2三维图形的绘制

4.2.1三维曲线的绘制

plot3(x1,y1,z1,'

x2,y2,z2,'

等为可选参数,与plot中的用法完全相同,不选则使用默认设置。

如果只绘制一条三维曲线,也可以用简捷的绘制命令ezplot3,命令格式与ezplot类似。

见下面的例子。

例4.2.1.绘制三维螺线

在区间[0,4]上的图形。

(方法一)在MATLAB的命令窗口输入如下命令:

t=0:

4*pi;

x=2*cos(t);

y=2*sin(t);

z=1.5*t;

plot3(x,y,z),xlabel('

),ylabel('

),zlabel('

z'

)%标识坐标轴

运行后得图4.2.1。

图4.2.1用plot3绘制的三维螺线图4.2.2用ezplot3绘制的三维螺线

(方法二)在MATLAB的命令窗口输入如下命令

ezplot3('

2*cos(t)'

2*sin(t)'

1.5*t'

[0,4*pi])

运行后得图4.2.2。

4.2.2三维网线图与表面图的绘制

mesh(x,y,z)%绘制三维网线图

surf(x,y,z)%绘制三维表面图

也可以在调用命令时增加可选参数来改变图形的颜色和线型。

还可以用简捷的绘制命令ezmesh与ezsurf绘制三维网线图与表面图。

例4.2.2.画出曲面z=sin(xy)在区域[2,2][2,2]上的图形。

x=-2:

2;

y=-2:

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

%用x和y产生“格点”矩阵

Z=sin(X.*Y);

%计算“格点”矩阵的每个“格点”上的函数值

mesh(X,Y,Z)%绘制网线图

运行后得图4.2.3。

图4.2.3用mesh绘制的三维网线图

如果将上面的mesh(X,Y,Z)换成surf(X,Y,Z),则运行后得图4.2.4。

图4.2.4用surf绘制的三维表面图

例4.2.3.画出曲面z=

的图形。

ezsurf('

x*exp(-x^2-y^2)'

运行后得图4.2.5。

图4.2.5用ezsurf绘制的三维表面图

4.2.3特殊曲面的绘制

对于空间曲面F(x,y,z)=0,我们通常采用平行截面法来认识该曲面的特性。

即用平行于坐标面的平面去“截”曲面F(x,y,z)=0,通过研究交线的性质来充分认识曲面的性质。

例4.2.4.绘制马鞍面z=x2y2的图形,并用平行截面法观察马鞍面的特点。

edit%新建一个M文件

或者点击MATLAB的菜单栏的“file”按钮,并从弹出的菜单中选择“new”,然后从其子菜单中选择“M-File”(如图4.2.6所示).

图4.2.6新建一个M文件

还可以直接点击MATLAB的工具栏的“”按钮,新建一个M文件.

MATLAB会弹出如图4.2.7所示的M文件编辑器.

图4.2.7M文件编辑器

在上述M文件编辑器中输入如下内容:

%绘制马鞍面z=x^2y^2的图形,并用平行截面法观察马鞍面的特点

x=-4:

4;

y=x;

Z=X.^2-Y.^2;

ix=find(X==2);

%找到x坐标=2的点的位置

px=2*ones(1,length(ix));

%“截痕”上的点的x坐标

py=Y(ix);

%“截痕”上的点的y坐标

pz=Z(ix);

%“截痕”上的点的z坐标

subplot(1,2,1)%把图形窗口划分成1行2列,并在第1个块里建立起坐标系

holdon%保留当前的绘图和确定轴的性质,使后续的图形命令加入现存的图形

plot3(px,py,pz,'

r*'

)%用红色的星号绘制截痕曲线

subplot(1,2,2)%在第2个块里建立起坐标系

plot3(px,py,pz)%在第2个块里绘制“截痕”曲线

%要保存这个M文件可以点击工具栏上的“软盘图标”按钮,

%或从菜单栏选择“Save”或“Saveas”

%首次保存(或用“Saveas”另存)一个M文件都需要指定路径和文件名

%为了不引起麻烦,M文件应该用英文开头(可含数字)的字符串命名

%例如:

ma_an_mian_2007

%要运行这个文件中的程序,有以下三种方法:

%[1]点击文件编辑器上面的菜单[Debug](有些版本可能选[Tools])

%点击选项[run](或[SaveandRun])

%这时在MATLAB工作空间中将会出现该程序执行的结果

%[2]按"

F5"

%[3]直接在MATLAB命令窗中输入这个文件的文件名,然后回车

运行后得图4.2.8。

图4.2.8马鞍面及其被平面所截得的截痕

图4.2.8中左边所显示的是从该马鞍面的正上方俯视的效果。

在该窗口的工具栏中选择三维旋转工具

,可以改变视角,得到图4.2.9所示的效果。

图4.2.9马鞍面及其被平面所截得的截痕(新角度)

4.2.4精细绘制特殊的曲面

例4.2.5.绘制旋转抛物面z=x2+y2的图形。

(粗糙绘制)在MATLAB的命令窗口输入如下命令:

Z=X.^2+Y.^2;

surf(X,Y,Z)%绘制曲面

运行后得图4.2.10(用三维旋转工具调整过角度)。

图4.2.10旋转抛物面

(精细绘制)在MATLAB的命令窗口输入如下命令:

0.01:

ii=find(Z>

4);

%找到Z>

4的点

Z(ii)=NaN;

%“镂空”Z>

4的点(NaN=NotaNumber不是数)

mesh(X,Y,Z)%绘制曲面,这里用mesh比用surf效果好

运行后得图4.2.11。

图4.2.11精细绘制的旋转抛物面

也可以用下面的程序精细绘制上述旋转抛物面:

z=0:

%设置z的取值范围和取点间距

y=sqrt(z);

%y=z^(1/2)

[xb,yb,zb]=cylinder(y,100);

%以y为半径产生“旋转面”上的点阵,100点/圈

mesh(xb,yb,zb)%绘制曲面

4.2.5在同一个坐标系里绘制多个曲面

例4.2.6.在同一个坐标系内观察三个平面

1:

x+yz=0;

2:

2xyz+2=0;

3:

z=0

看它们是否交于一点。

x=-20:

20;

y=x;

Z1=X+Y;

%平面1

Z2=2*X-Y+2*ones(size(X));

%平面2

Z3=zeros(size(X));

%平面3

surf(X,Y,Z1),holdon,mesh(X,Y,Z2),mesh(X,Y,Z3)

运行后得图4.2.12。

图4.2.12在同一个坐标系内绘制多个曲面

可见这3个平面交于一点。

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

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2