Matlab指导手册.docx

上传人:b****5 文档编号:7361672 上传时间:2023-01-23 格式:DOCX 页数:31 大小:297.91KB
下载 相关 举报
Matlab指导手册.docx_第1页
第1页 / 共31页
Matlab指导手册.docx_第2页
第2页 / 共31页
Matlab指导手册.docx_第3页
第3页 / 共31页
Matlab指导手册.docx_第4页
第4页 / 共31页
Matlab指导手册.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

Matlab指导手册.docx

《Matlab指导手册.docx》由会员分享,可在线阅读,更多相关《Matlab指导手册.docx(31页珍藏版)》请在冰豆网上搜索。

Matlab指导手册.docx

Matlab指导手册

Matlab专业软件

指导手册

编者:

王来

四川农业大学都江堰校区社团联合会

数学建模协会

前言

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

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

MATLAB和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

为了让我们四川农业大学都江堰校区的学生也享有世界先进的技术,编者特意为大家编写了这本指导手册,衷心的希望我们的数学爱好者,软件爱好者,各行业的爱好者能够齐聚思想洪流,来共同学习研究这门软件。

在本手册中,编者参考了近40种与之相关的书籍,其中的总结较为概括,涉及到的具体内容的讲解我们都会为读者一一解答,编者提倡大家“自学为主,教学为辅”。

多多的利用我们身边的互联网,来了解和升华我们的知识水平。

限于编著者的水平,书中难免有些不当或失误之处,敬请广大读者批评指正。

如有任何对我们软件学习的意见和建议,请大家email:

comeking@

编者

2011.5

 

目录

1Matlab常用函数命令汇总1

1.1Matlab常用内部常数1

1.2Mtlab常用基本函数1

1.3Matlab常用三角函数1

1.4向量的常用函数2

1.5基本图象绘制2

1.6plot绘图函数的参数2

2绘制处理数据图方法3

2.1plot函数3

2.2线型与颜色3

2.3图形标记3

2.4设定坐标轴4

2.5加图例4

2.6subplot(m,n,p)4

2.7函数f(x)曲线6

2.8对数坐标图形6

2.9极坐标图7

2.10阶梯图形7

2.11条形图形7

2.12填充图形7

2.13plot3函数7

3处理常见的数学问题8

3.1微分中的运用8

3.2积分中的运用10

3.3线性与非线性方程中的运用12

3.4矩阵一系列问题14

4处理优化问题14

4.1线性规划14

4.2无约束优化16

4.3约束优化16

4.4最值问题19

 

1Matlab常用函数命令汇总

1.1Matlab常用内部常数

命令

功能

命令

功能

Exp

自然对数的底数e

inf或Inf

无限大,例如1/0

nan或NaN

非数值//例如0/0

pi

圆周率pi

realmax

系统所能表示的最大数

realmin

系统所能表示的最小数值

nargin

函数的输入引数个数

nargout

函数的输出引数个数

lasterr

存放最新的错误信息

lastwarn

存放最新的警告信息

1.2Mtlab常用基本函数

命令

功能

 

命令

功能

abs(x)

纯量的绝对值或向量的长度

angle(z)

复数z的相角(Phaseangle)

sqrt(x)

开平方

real(z)

复数z的实部

imag(z)

复数z的虚部

conj(z)

复数z的共轭复数

round(x)

四舍五入至最近整数

fix(x)

无论正负,舍去小数至最近整数

floor(x)

向下取整,即舍去正小数至最近整数

ceil(x)

上取整,即加入正小数至最近整数

rat(x)

将实数x化为多项分数展开

rats(x)

将实数x化为分数表示

sign(x)

符号函数(Signumfunction)

rem(x,y)

求x除以y的余数

gcd(x,y)

整数x和y的最大公因数

lcm(x,y)

整数x和y的最小公倍数

exp(x)

自然指数

pow2(x)

2的指数

log(x)

以e为底的对数,即自然对数或

log2(x)

以2为底的对数

1.3Matlab常用三角函数

命令

功能

命令

功能

sin(x)

正弦函数

cos(x)

余弦函数

tan(x)

正切函数

asin(x)

反正弦函数

acos(x)

反余弦函数

atan(x)

反正切函数

atan2(x,y)

四象限的反正切函数

sinh(x)

双曲正弦函数

cosh(x)

双曲余弦函数

tanh(x)

双曲正切函数

asinh(x)

反双曲正弦函数

acosh(x)

反双曲余弦函数

atanh(x)

反双曲正切函数

1.4向量的常用函数

命令

功能

命令

功能

min(x)

向量x的元素的最小值

max(x)

向量x的元素的最大值

mean(x)

向量x的元素的平均值

median(x)

向量x的元素的中位数

std(x)

向量x的元素的标准差

diff(x)

向量x的相邻元素的差

sort(x)

对向量x的元素进行排序(Sorting)

length(x)

向量x的元素个数

norm(x)

向量x的欧氏(Euclidean)长度

sum(x)

向量x的元素总和

prod(x)

向量x的元素总乘积

cumsum(x)

向量x的累计元素总和

cumprod(x)

向量x的累计元素总乘积

dot(x,y)

向量x和y的内积

cross(x,y)

向量x和y的外积

1.5基本图象绘制

命令

功能

Plot

x轴和y轴均为线性刻度(Linearscale)

Loglog

x轴和y轴均为对数刻度(Logarithmicscale)

Semilogx

x轴为对数刻度,y轴为线性刻度

Semilogy

x轴为线性刻度,y轴为对数刻度

Axis

重新设定坐标轴

Subplot

分割当前的窗口为m*n的绘图区

holdon

保持原图

fplot

函数可自适应地对函数进行采样

polar(theta,rho)

用来绘制极坐标图,theta为极坐标角度,rho为极坐标半径

stairs

可以绘制阶梯图形

bar

条形图的绘制

fill

填充图形的绘制

plot3

三维图形的绘制

mesh

绘制三围网格图

surf

绘制三围曲面图

1.6plot绘图函数的参数

字元

颜色

图形

图线型态

y

黄色

.

k

黑色

o

w

白色

x

x

b

蓝色

+

+

g

绿色

*

*

r

红色

-

实线

c

亮青色

:

点线

m

锰紫色

-.

点虚线

注解(图形的修饰函数)

xlabel('InputValue');%x轴注解

ylabel('FunctionValue');%y轴注解

title('TwoTrigonometricFunctions');%图形标题

legend('y=sin(x)','y=cos(x)');%图形注解

gridon;%显示格线

2绘制处理数据图方法

2.1plot函数

函数格式:

plot(x,y)其中x和y为坐标向量

【例1】在区间0≤X≤2内,绘制正弦曲线Y=sin(X),其程序为:

x=0:

pi/100:

2*pi;

y=sin(x);

plot(x,y)

【例2】同时绘制正、余弦两条曲线Y1=SIN(X)和Y2=COS(X),其程序为:

x=0:

pi/100:

2*pi;

y1=sin(x);

y2=cos(x);

plot(x,y1,x,y2)

plot函数还可以为plot(x,y1,x,y2,x,y3,…)形式,其功能是以公共向量x为X轴,分别以y1,y2,y3,…为Y轴,在同一幅图内绘制出多条曲线。

2.2线型与颜色

格式:

plot(x,y1,’cs’,...)

其中c表示颜色,s表示线型。

【例3】用不同线型和颜色重新绘制例2图形,其程序为:

x=0:

pi/100:

2*pi;

y1=sin(x);

y2=cos(x);

plot(x,y1,'go',x,y2,'b-.')

其中参数'go'和'b-.'表示图形的颜色和线型。

g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。

2.3图形标记

在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。

title(‘加图形标题');

xlabel('加X轴标记');

ylabel('加Y轴标记');

text(X,Y,'添加文本');

2.4设定坐标轴

用户若对坐标系统不满意,可利用axis命令对其重新设定。

axis([xminxmaxyminymax])设定最大和最小值

【例4】在坐标范围0≤X≤2π,-2≤Y≤2内重新绘制正弦曲线,其程序为:

x=linspace(0,2*pi,60);%生成含有60个数据元素的向量X

y=sin(x);

plot(x,y);

axis([02*pi-22]);%设定坐标轴范围

2.5加图例

给图形加图例命令为legend。

该命令把图例放置在图形空白处,用户还可以通过鼠标移动图例,将其放到希望的位置。

格式:

legend('图例说明','图例说明');

【例5】为正弦、余弦曲线增加图例,其程序为:

x=0:

pi/100:

2*pi;

y1=sin(x);

y2=cos(x);

plot(x,y1,x,y2,'--');

legend('sin(x)','cos(x)');

2.6subplot(m,n,p)

该命令将当前图形窗口分成m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。

【例6】在一个图形窗口中同时绘制正弦、余弦、正切、余切曲线,程序为:

x=linspace(0,2*pi,60);

y=sin(x);

z=cos(x);

t=sin(x)./(cos(x)+eps);%eps为系统内部常数

ct=cos(x)./(sin(x)+eps);

subplot(2,2,1);%分成2×2区域且指定1号为活动区

plot(x,y);

title('sin(x)');

axis([02*pi-11]);

subplot(2,2,2);

plot(x,z);

title('cos(x)');

axis([02*pi-11]);

subplot(2,2,3);

plot(x,t);

title('tangent(x)');

axis([02*pi-4040]);

subplot(2,2,4);

plot(x,ct);

title('cotangent(x)');

axis([02*pi-4040]);

重新绘制上例4个图形,程序变动后如下:

x=linspace(0,2*pi,60);

y=sin(x);

z=cos(x);

t=sin(x)./(cos(x)+eps);

ct=cos(x)./(sin(x)+eps);

H1=figure;%创建新窗口并返回句柄到变量H1

plot(x,y);%绘制图形并设置有关属性

title('sin(x)');

axis([02*pi-11]);

H2=figure;%创建第二个窗口并返回句柄到变量H2

plot(x,z);%绘制图形并设置有关属性

title('cos(x)')

axis([02*pi-11]);

H3=figure;同上

plot(x,t);

title('tangent(x)');

axis([02*pi-4040]);

H4=figure;同上

plot(x,ct);

title('cotangent(x)');

axis([02*pi-4040]);

阅读如下程序:

x=linspace(0,2*pi,60);

y=sin(x);

z=cos(x);

plot(x,y,'b');%绘制正弦曲线

holdon;%设置图形保持状态

plot(x,z,'g');%保持正弦曲线同时绘制余弦曲线

axis([02*pi-11]);

legend('cos','sin');

holdoff%关闭图形保持

2.7函数f(x)曲线

fplot函数则可自适应地对函数进行采样,能更好地反应函数的变化规律。

fplot函数格式:

fplot(fname,lims,tol)

其中fname为函数名,以字符串形式出现,lims为变量取值范围,tol为相对允许误差,其其系统默认值为2e-3。

例:

fplot(‘sin(x)’,[02*pi],’-+’)

fplot(‘[sin(x),cos(x)]’,[02*pi],1e-3,’o’)同时绘制正弦、余弦曲线

为绘制f(x)=cos(tan(πx))曲线,可先建立函数文件fct.m,其内容为:

functiony=fct(x)

y=cos(tan(pi*x));

用fplot函数调用fct.m函数,其命令为:

fplot(‘fct’,[01],1e-4)

2.8对数坐标图形

1.loglog(x,y)双对数坐标

【例7】绘制y=x^3的函数图、对数坐标图、半对数坐标图.程序为:

x=[1:

1:

100];

subplot(2,3,1);

plot(x,x.^3);

gridon;

title'plot-y=x^3';

subplot(2,3,2);

loglog(x,x.^3);

gridon;

title'loglog-logy=3logx';

subplot(2,3,3);

plotyy(x,x.^3,x,x);

gridon;

title'plotyy-y=x^3,logy=3logx';

subplot(2,3,4);

semilogx(x,x.^3);

gridon;

title'semilogx-y=3logx';

subplot(2,3,5);

semilogy(x,x.^3);

gridon;

title'semilogy-logy=x^3';

2.单对数坐标

以X轴为对数重新绘制上述曲线,程序为:

semilogx(x,y);单对数X轴绘图命令

同样,可以以Y轴为对数重新绘制上述曲线,程序为:

semilogy(x,y);单对数Y轴绘图命令

2.9极坐标图

函数polar(theta,rho)用来绘制极坐标图,theta为极坐标角度,rho为极坐标半径

【例8】绘制sin(2*θ)*cos(2*θ)的极坐标图,程序为:

theta=[0:

0.01:

2*pi];

rho=sin(2*theta).*cos(2*theta);

polar(theta,rho);%绘制极坐标图命令

title('polarplot');

2.10阶梯图形

函数stairs(x,y)可以绘制阶梯图形,如下列程序段:

x=[-2.5:

0.25:

2.5];

y=exp(-x.*x);

stairs(x,y);%绘制阶梯图形命令

title('stairsplot');

2.11条形图形

函数bar(x,y)可以绘制条形图形,如下列程序段将绘制条形图形

x=[-2.5:

0.25:

2.5];

y=exp(-x.*x);

bar(x,y);%绘制条形图命令

2.12填充图形

fill(x,y,’c’)函数用来绘制并填充二维多边图形,x和y为二维多边形顶点坐标向量。

字符’c’规定填充颜色,其取值前已叙述。

下述程序段绘制一正方形并以黄色填充:

x=[01100];%正方形顶点坐标向量

y=[00110];

fill(x,y,'y');%绘制并以黄色填充正方形图

再如:

x=[0:

0.025:

2*pi];

y=sin(3*x);

fill(x,y,[0.50.30.4]);%颜色向量

Matlab系统可用向量表示颜色,通常称其为颜色向量。

基本颜色向量用[rgb]表示,即RGB颜色组合;以RGB为基本色,通过r,g,b在0~1范围内的不同取值可以组合出各种颜色。

2.13plot3函数

最基本的三维图形函数为plot3,它是将二维函数plot的有关功能扩展到三维空间,用来绘制三维图形。

函数格式:

plot3(x1,y1,z1,c1,x2,y2,z2,c2,…)

其中x1,y1,z1…表示三维坐标向量,c1,c2…表示线形或颜色。

函数功能:

以向量x,y,z为坐标,绘制三维曲线。

【例9】绘制三维螺旋曲线,其程序为:

t=0:

pi/50:

10*pi;

y1=sin(t),y2=cos(t);

plot3(y1,y2,t);

title('helix'),text(0,0,0,'origin');

xlabel('sin(t)'),ylabel('cos(t)'),zlabel('t');

grid;

t=0:

pi/50:

10*pi;

y1=t.*sin(t),y2=t.*cos(t);

plot3(y1,y2,t,y1,y2,-t);

注明:

更多涉及的问题我们在讲的过程中会涉及到……有任何问题请做好记录,共同探讨

3处理常见的数学问题

3.1微分中的运用

1.dsolve(‘方程1’,‘方程2’,…‘方程n’,‘初始条件’,‘自变量’)

求微分方程组的通解.

输入命令:

[x,y,z]=dsolve('Dx=2*x-3*y+3*z','Dy=4*x-5*y+3*z','Dz=4*x-4*y+2*z','t');

x=simple(x)%将x化简

y=simple(y)

z=simple(z)

结果为:

x=(c1-c2+c3+c2e-3t-c3e-3t)e2t

y=-c1e-4t+c2e-4t+c2e-3t-c3e-3t+c1-c2+c3)e2t

z=(-c1e-4t+c2e-4t+c1-c2+c3)e2t

2.解微分方程组.

1、建立m-文件rigid.m如下:

functiondy=rigid(t,y)

dy=zeros(3,1);

dy

(1)=y

(2)*y(3);

dy

(2)=-y

(1)*y(3);

dy(3)=-0.51*y

(1)*y

(2);

2、取t0=0,tf=12,输入命令:

[T,Y]=ode45('rigid',[012],[011]);

plot(T,Y(:

1),'-',T,Y(:

2),'*',T,Y(:

3),'+')

y1的图形为实线,y2的图形为“*”线,y3的图形为“+”线

一般的简单的表达式求微分,我们使用diff命令就可以了。

一元函数的求解:

符号求导的命令

功能

yx=diff(f(x),x)

求函数y=f(x)对x的一阶导函数y'=f'(x)

dy=diff(f(x),x)*dx

求函数y=f(x)的一阶微分dy=f'(x)dx

yxx=diff(f(x),x,2)或yxx=diff(yx,x)

求函数y=f(x)对x的二阶导函数''()y=f''x

yxxx=diff(f(x),x,3)或yxxx=diff(yxx,x)

求函数y=f(x)对x的三阶导函数'''()y=f'''x

yxn=diff(f(x),x,n)

求函数y=f(x)对x的n阶导函数y(n)=f(n)(x)

yn=simple(yxn)

将n阶导函数y(n)=f(n)(x)化简,并记作yn.

pretty(diff(f(x),x)

输出一个符合日常书写习惯的一阶导函数的表达式

多元函数的求解:

符号求导的命令

功能

zx=diff(f(x,y),x)

求z=f(x,y)对x的一阶偏导函数z'f'(x,y)xx

zy=diff(f(x,y),y)

求z=f(x,y)对y的一阶偏导函数z'f'(x,y)yy

dz=zx*dx+zy*dy

求z=f(x,y)的全微分dz=fxydx+x'(,)fxydyy(,)'

zxx=diff(zx,x)

求z=f(x,y)对x的二阶偏导函数z''f''(x,y)xxxx

zxy=diff(zx,y)

求z=f(x,y)的二阶混合偏导函数z''f''(x,y)xyxy

zxn=diff(f(x,y),x,n)

求函数z=f(x,y)对x的n阶偏导函数

zyn=diff(f(x,y),y,n)

求函数z=f(x,y)对y的n阶偏导函数

ux=diff(f(x,y,z),x)

求u=f(x,y,z)对x的一阶偏导函数u'f'(x,y,z)xx

uy=diff(f(x,y,z),y)

求u=f(x,y,z)对y的一阶偏导函数u'f'(x,y,z)yy

uz=diff(f(x,y,z),z)

求u=f(x,y,z)对z的一阶偏导函数u'f'(x,y,z)zz

du=ux*dx+uy*dy+uz*dz

求u=f(x,y,z)的全微分

uyx=diff(uy,x)

求u=f(x,y,z)的二阶混合偏导函数u"f"(x,y,z)yxyx

uyxy=diff(uyx,y)

求u=f(x,y,z)的三阶混合偏导函数u'''f'''(x,y,z)

Zx=-diff(F,x)/diff(F,z)Zy=-diff(F,y)/diff(F,z)

隐函数F(x,y,z)=

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

当前位置:首页 > 人文社科 > 文化宗教

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

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