当前位置:文档之家› 数学建模与数学实验 Matlab基础

数学建模与数学实验 Matlab基础

数学建模与数学实验  Matlab基础
数学建模与数学实验  Matlab基础

第二十章MATLAB基础

20.1 MA TLAB基本知识

MA TLAB是一种交互式的以矩阵为基础的系统计算平台,它用于科学和工程的计算与可视化。它的优点在于快速开发计算方法,而不在于计算速度。

20.1.1 MA TLAB基本使用

一、MATLAB启动

(1)方法一

当MA TLAB安装到硬盘上以后,一般会在Windows桌面上自动生成MA TLAB程序图标。在这种情况下,只要直接点击那图标即可启动MA TLAB,打开如图1.1的MA TLAB操作桌面(Desktop)。注意:本书作者建议用户优先采用启动“方法一”。

(2)方法二

假如Windows桌面上没有MA TLAB图标,那么点击matlab\ 文件夹下的快捷方式图标。

图20.1-1 Desktop操作桌面的默认外貌

二、Matlab菜单的含义

MA TLAB R2010a版的Desktop操作桌面,是一个高度集成的MA TLAB工作界面。其默认形式,如图1.1-1所示。该桌面的上层铺放着三个最常用的界面:指令窗(Command Window)、当前目录(Current

Directory)浏览器、MA TLAB工作内存空间(Workspace)浏览器、历史指令(Command History)窗。

●命令窗口

该窗是进行各种MA TLAB操作的最主要窗口。在该窗内,可键入各种送给MA TLAB运作的指令、函数、表达式;显示除图形外的所有运算结果;运行错误时,给出相关的出错提示。

●当前目录浏览器

在该浏览器中,展示着子目录、M文件、MA T文件和MDL文件等。对该界面上的M文件,可直接进行复制、编辑和运行;界面上的MA T数据文件,可直接送入MA TLAB工作内存。此外,对该界面上的子目录,可进行Windows平台的各种标准操作。

此外,在当前目录浏览器正下方,还有一个“文件概况窗”。该窗显示所选文件的概况信息。比如该窗会展示:M函数文件的H1行内容,最基本的函数格式;所包含的内嵌函数和其它子函数。

●工作空间浏览器

该浏览器默认地位于当前目录浏览器的后台。该窗口罗列出MA TLAB工作空间中所有的变量名、大小、字节数;在该窗中,可对变量进行观察、图示、编辑、提取和保存。

●历史指令窗

该窗记录已经运作过的指令、函数、表达式,及它们运行的日期、时间。该窗中的所有指令、文字都允许复制、重运行及用于产生M文件。

●捷径(Start)键

引出通往本MA TLAB所包含的各种组件、模块库、图形用户界面、帮助分类目录、演示算例等的捷径,以及向用户提供自建快捷操作的环境。

三、帮助的使用

读者接触、学习MA TLAB的起因可能不同,借助MA TLAB所想解决的问题也可能不同,从而会产生不同的求助需求。如对于初学者,最急于知道的是:MA TLAB的基本用法。又如MA TLAB老用户很想知道的是:MA TLAB新版本有什么新特点、新功能。再如对科研工作者来说,面对不断变化的实际问题,常常产生两类困惑:知道具体指令,但不知道该怎么用;或想解某个具体问题,不知道MA TLAB有哪些指令可用。

MA TLAB作为一个优秀的科学计算软件,其帮助系统考虑了不同用户的不同需求,构成了一个比较完备的帮助体系。并且,这种帮助体系随MA TLAB版本的重大升级,其完备性和友善性都会有较大的进步。

不管以前是否使用过MA TLAB,任何用户都应尽快了解MA TLAB的帮助系统,掌握各种获取帮助信息的方法。只有这样,用户才可能较好地运用MA TLAB资源,快捷、可靠、有效地独立解决自己面临的各种问题。

20.1.2 MA TLAB变量与函数

一、MATLAB中变量的命名规则:

(1)变量区分字母的大小写;

(2)名字不能超过19个字符,第19个字符后的字符被忽略;

(3)变量必须以字母开头,之后可以是任意字母、数字或者下滑线;

(4)变量中不能含有标点符号。

表20.2-1 MATLAB为数学常数预定义的变量名

二、数学元算符号及标点符号

(1)数学的运算符号

标点符号

(1)MA TLAB的命令后的逗号(或无标点符号)显示命令的结果;分号不显示命令的结果;(2)“%”:注释文字的标志;

(3)“…”;续行标志。

三、数据的输出格式控制format

四、数学函数

20.1.3 MA TLAB数组与矩阵

MA TLAB以矩阵为数据操作的基本单位。

一、数组

数组实际上就是向量,下标从1开始变化。

例1:>>a=1:5

a=1 2 3 4 5

例2:>>a=1:2:10

a= 1 3 5 7 9

例3:>>a=linspace(0,1,5)

a=0 0.2500 0.5000 0.7500 1.0000

>>b=10.^a

b=1.0000 1.7783 3.1623 5.6234 10.0000 >>c=logspace(0,1,5)

c=1.0000 1.7783 3.1623 5.6234 10.0000 2数组元素的访问

例4:>>d=a([1 2 3 5])

d=0 0.2500 0.5000 1.0000

3、行向量与列向量

在创建数组时,如果元素以空格或逗号分隔,创建的就是行向量,如果分号分隔,创建的就是列向量。例5>>e=[1,3,5,7,9]

e=1 3 5 7 9

>>f=[1;3;5;7]

f= 1

3

5

7

二、矩阵

标量可以看作1×1的矩阵,行向量可以看作是只有一行的矩阵,列向量可以看作是只有一列的矩阵。

1、直接法建立矩阵

(1)用中括号起来表示;

(2)同一行内用空格或逗号隔开;

(3)不同行使用分号或者回车分开。

注意:输入矩阵时,严格要求所有的行有相同的列。

例1:>>A=[1 2 3;4 5 6;7 8 9]

A= 1 2 3

4 5 6

7 8 9

2、特殊的矩阵建立

例6

>> R=rand(3,4)

0.9501 0.4860 0.4565 0.4447

0.2311 0.8913 0.0185 0.6154

0.6068 0.7621 0.8214 0.7919

例7产生一个在区间[10, 20]内均匀分布的4阶随机矩阵>> a=10;b=20;

>> x=a+(b-a)*rand(4)

x =

19.2181 19.3547 10.5789 11.3889

17.3821 19.1690 13.5287 12.0277

11.7627 14.1027 18.1317 11.9872

14.0571 18.9365 10.0986 16.0379

例8产生均值为0.6,方差为0.1的4阶矩阵

>> mu=0.6; sigma=0.1;

>> x=mu+sqrt(sigma)*randn(4)

x =

0.8311 0.7799 0.1335 1.0565

0.7827 0.5192 0.5260 0.4890

0.6127 0.4806 0.6375 0.7971

0.8141 0.5064 0.6996 0.8527

3、矩阵中元素的操作

三、矩阵的运算

1、矩阵的转置和共轭转置

(1)对实矩阵,转置使用符号“’”;

(2)对复矩阵,转置使用符号“.’”,共轭转置用“’”。例1:>>c=[1+I,1;2-i,2],;

>>d=c’%共轭转置

d=

1.0000-1.0000i

2.0000+i

1.0000

2.0000

>>e=c.’%转置

1.0000+1.0000i

2.0000-1.0000i

1.0000

2.0000

2、运算A+B、A-B、A.*B

>>A=[1, 1, 1; 1, 2, 3; 1, 3, 6];

>>B=[8, 1, 6; 3, 5, 7; 4, 9, 2];

>>A+B=A+B

>>A-B=A-B

结果显示:

A+B=

9 2 7

4 7 10

5 12 8

A-B=

-7 0 -5

-2 -3 -4

-3 -6 4

4、运算A*B

>>X= [2 3 4 5;

1 2 2 1];

>>Y=[0 1 1;

1 1 0;

0 0 1;

1 0 0];

Z=X*Y

结果显示为:

Z=

8 5 6

3 3 3

5、矩阵除法

例:a=[1 2 3; 4 2 6; 7 4 9]

b=[4; 1; 2];

x=a\b

则显示:

x=

-1.5000

2.0000

0.5000

如果a为非奇异矩阵,则a\b和b/a可通过a的逆矩阵与b阵得到:a\b = inv(a)*b

b/a = b*inv(a)

6、det(A):方阵的行列式>> A=[1 2 3;4 5 6;7 8 9]

A =

1 2 3

4 5 6

7 8 9

>> D=det(A)

D =

7、inv(A):方阵的逆

例:求矩阵

??

?

?

?

?

?

=

3

4

3

1

2

2

3

2

1

A

的逆矩阵

方法一

>>A=[1 2 3; 2 2 1; 3 4 3];

>>Y=inv(A)或Y=A^(-1)

则结果显示为

Y =

1.0000 3.0000 -

2.0000

-1.5000 -3.0000 2.5000

1.0000 1.0000 -1.0000

方法二:由增广矩阵

??

?

?

?

?

?

=

1

3

4

3

1

1

2

2

1

3

2

1

B

进行初等行变换

>>B=[1, 2, 3, 1, 0, 0; 2, 2, 1, 0, 1, 0; 3, 4, 3, 0, 0, 1;

>>C=rref(B) %化行最简形

>>X=C(:, 4:6) %取矩阵C中的A^(-1)部分

显示结果如下:

C =

1.0000 0 0 1.0000 3.0000 -

2.0000

0 1.0000 0 -1.5000 -3.0000 2.5000

0 0 1.0000 1.0000 1.0000 -1.0000

X =

1.0000 3.0000 -

2.0000

-1.5000 -3.0000 2.5000

1.0000 1.0000 -1.0000

>> A=[2 1 -1;2 1 2;1 -1 1];

>> format rat %用有理格式输出

>> D=inv(A)

D =

1/3 0 1/3

0 1/3 -2/3

-1/3 1/3 0

8、rank(A):矩阵A的秩

9、orth(A):将矩阵A的列向量组正交化

10、trace(A):方阵A的迹

函数trace

格式b=trace (A) %返回矩阵A的迹,即A的对角线元素之和。

11、[V,D]=eig[A]:求方阵A的特征值、特征向量,其中V为特征向量组成的方阵,D为特征值组成的对角阵。

例:

>>A=[1 2 0;2 5 -1;4 10 -1];

>>eig(A)%求A的特征值

ans= 3.7321

0.2679

1.0000

>>[x,y]=eig(A)

x=

0.2440 -0.9107 0.4472

0.333 0.3333 0.0000

-0.9107 -0.2440 0.8944

y= %Y特征值对角阵

3.7321 0 0

0 0.2679 0

0 0 1.0000

20.2 MA TLAB编程

20.2.1 M文件

用MA TLAB语言编写的程序,称为M文件

一、文件建立方法

1、从MA TLAB主窗口的File菜单中选择New菜单项,在选择M-file命令;或者在MA TLAB命令窗口输入命令edit;或者单击MA TLAB主窗口工具栏的New M-file命令的按钮,屏幕将出现MA TLAB的文本编辑器窗口;

2、在文本编辑窗口中输入程序内容;

3、点击File->Save,存盘,扩展名为*.m。

二、打开已有的M文件的方法

1、菜单操作:从MA TLAB主窗口的File菜单中选择Open命令,则屏幕出现Open对话框,在Open 对话框中选中所需打开的M文件。在文档窗口可以对打开的M文件进行编辑修改,编辑完成后,将M文

件存盘。

2、命令操作:在MA TLAB命令窗口输入命令:edit文件名,则打开指定的M文件;

3、命令按钮操作:单击MA TLAB主窗口工具栏上的Open File命令按钮,再从弹出的对话框中选择所需要打开的M文件;

4、双击一个M文件。

三、两种M文件

1、命令文件:没有参数的输入和输出,在文件中赋予了一些命令,通过对这些命令文件的执行,用户能完成某些计算。

2、函数文件:可以有输入输出变量,在文件中定义用户所需要的函数,当某些程序使用该函数时即可调用该函数。

函数文件有function语句引导,其基本结构为:

function[输入参数表]=函数名(输入参数表)

注释行

函数体

说明:

(1)函数文件必须以function开始,用来标识此文件时函数文件。

(2)使用%作为注释符,只作为于本行。若注释有多行,则每行都以%开头。

(3)命令窗口中执行该函数,也可以被其他文件或函数调用,但需要注释路径。

(4)function后紧跟的注释,就是使用help命令查看的内容。

(5)函数文件名要与函数名相同。

例1 利用函数文件,实现直接坐标系(x,y)与极坐标(ρ,θ)之间的转换。

解:建立M文件:tran.m

function[rho,theta]=tran(x,y)

%函数突然实现直角坐标到极坐标的转换;

%输入参数直坐标x和y,输出参数为极径rho和极角theta

rho=sprt(x*x+y*y);

theta=atan(y/x);

end function

四、函数调用

1、函数调用的一般格式是:

[输出实参表]=函数名(输入实参表)

例2利用前面例子中的函数tran实现直角坐标到极坐标的转换。

解:>>[rh,th]=tran(3,4)

rh= 5

th=727/784

2、嵌套调用:

Matlab中,在函数文件的题头定义的函数称为主函数,而在内部定义的其他函数均被视为子函数。子函数只能为主函数或同一函数下其他子函数所调用。

例3嵌套调用

3、递归调用:一个函数调用它自身称为函数的递归调用。

4、函数参数的可调性

在调用函数时,MA TLAB用两个永久变量nargin和narout分别记录调用该函数时的输入实参和输出实参的个数。只要在函数文件中包含这两个变量,就可以准确地知道该函数文件被调用时的输入输出参数个数,从而决定函数如何进行处理。

例3 建立M文件:narginxp.m

fuction fout=charray(a,b,c)

if nargin==1

fout=a;

elseif nargin==2

fout=a+b;

elseif nargin==3

fout=(a*b*c)/2

end

20.2.2 关系与逻辑运算符

1、关系操作符

2、逻辑运算符

20.2.3 程序控制结构

一、顺序结构

1、直接赋值语句

格式:变量名=负责表达式

例1 x=0:pi/2:2*pi

2、函数调用赋值语句

格式:[返回变量列表]=函数名(输入参数列表)

例2 X=magic(4);

[U,V]=eig(X)

3、输入输出赋值语句

输入数据可用input函数,格式为:

A=input(’提示信息’)%输入可供计算的数据

A=input(’提示信息’,’s’)%输入字符串

输出数据可用disp函数,其调用格式为:disp(输出项),其中输出项既可以为字符串,也可以为矩阵。

例2求一元二次方根a x2+bx+c=0的根。

解:建立M文件:inputxp.m

a=input(‘a=?’);b=input(‘b=?’);c=input(‘c=?’);d=b*b-4*a*c;

x=[(-b+sqrt(d))/(2*a),( (-b-sqrt(d))/(2*a))];

disp([‘x1=’,num2str(x(1)), [‘x2=’,num2str(x(2))]);

4、程序的暂停和中止

暂停程序的执行:pause(延迟秒数),其中延迟秒数表示暂停的时间,如果省略,则暂停程序,直到用户按任意键后,程序继续执行。

强行中止程序的运行使用Ctrl+C命令。

二、选择结构

1、if语句

例3 testif.m

i=input(‘i=?’);j=input(‘j=?’);

if i==j

a=1;

elseif i==2*j

a=2;

else

a=0;

end

a

注:如果条件表达式是一个逻辑数组,则只有所有元素为真时,条件为真。

例4 A=[1,0;2,3];

B=[1,1;3,4];

if A==B

flag=1;

elseif A

flag=2;

elseif A&B

flag=3

else if A

flag=4;

end

flag

2、switch语句

格式:

switch 开关表达式

case 表达式1

语句组1

case{表达式2,表达式3,…,表达式k}

%有一个为真,就执行

语句组2

otherwise

语句组n

end

例5某商场对顾客购买商品实行打折销售,标准如下(商品的价格用price来表示);price<200,没有折扣:200≤price<500,3%折扣;500≤price<1000,5%折扣; 1000≤price,8%折扣。编程实现:输入所售商品的加格,输出实际销售的价格。

解:建立M文件:switchxp.m

clear;

price=input(‘请输入商品价格:’);

switch fix(price/100)% fix取整

case{0,1}

rate=0;

case{2,3,4}

rate=3/100;

case num2cell(5:9);%nm2cell(5:9)为{5,6,7,8,9}

rate=5/100;

otherwise

rate=8/100;

end

price=price*(1=rate)

3、try语句

语句的格式为:

try

语句组1

catch

语句组2

end

try语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的laster 变量,并转去执行语句组2。

三、循环结构

MA TLABT提供了两种循环结构,分别for…end和while…end。

1、for…end结构

(1)

K=5;

A = zeros(K,K) ; %

for m = 1:K %

for n = 1:K %

A(m,n) = 1/(m+n -1);

end

end

format rat

A

format short g

A =

1 1/

2 1/

3 1/

4 1/5

1/2 1/3 1/4 1/5 1/6

1/3 1/4 1/5 1/6 1/7

1/4 1/5 1/6 1/7 1/8

1/5 1/6 1/7 1/8 1/9

2、while…end结构

例6 从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。解:建立文件testwhile.m

sum=0;count=0;

val=input(‘Enter a number(end in 0):’);

while(val~=0)

sum=sum+val;

count=count+1;

val= input(‘Enter a number(end in 0):’);

end

if(count>0)

sum

mean=sum/count

end

20.3 MA TLAB作图

20.3.1 二维图形

一、基本绘图语句plot

MA TLAB作图通过描点、连线实现,故在画一个曲线图形之前,必须先取得该图形的一系列的点坐标(即横坐标,纵坐标),然后将该点集的坐标传给MA TLAB函数画图。

在线条多于一条时,若用户没有指定使用颜色,则plot循环使用由当前坐标轴颜色顺序属性(current axes ColorOrder property)定义的颜色,以区别不同的线条。在用完上述属性值后,plot又循环使用由坐标轴线型顺序属性(axes LineStyleOrder property)定义的线型,以区别不同的线条。

用法:

plot(x,y): x为自变量(横坐标),y为因变量(纵坐标)

plot(y):y为因变量(纵坐标),以数组y的下标为自变量(横坐标)

plot(X1,Y1,X2,Y2,…),将多条线画在一起

plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2…) 将按顺序分别画出由三参数定义Xi,Yi,LineSpeci的线条。其中参数LineSpeci指明了线条的类型,标记符号,和画线用的颜色。在plot 命令中我们可以混合使用三参数和二参数的形式:

plot(X1,Y1,LineSpec1,X2,Y2,X3,Y3,LineSpec3)

plot(…,'PropertyName',PropertyV alue,…) 对所有的用plot生成的line图形对象中指定的属性进行恰当的设置。

h = plot(…) 返回line图形对象句柄的一列向量,一线条对应一句柄值。

说明参数LineSpec

功能定义线的属性。Maltab允许用户对线条定义如下的特性:

例1

>>t = 0:pi/20:2*pi;

>>plot(t,t.*cos(t),'-.r*')

>>hold on

>>plot(exp(t/100).*sin(t-pi/2),'--mo')

>>plot(sin(t-pi),':bs')

>>hold off

图形结果为图20.3-1。

例2

>>plot(t,sin(2*t),'-mo', 'LineWidth',2,'MarkerEdgeColor','k',…

'MarkerFaceColor',[.49 1 .63],'MarkerSize',12)

图形结果为图7-2。

图20.3-1 二维曲线图图20.3-2 二维图形的绘制

二、符号函数(显函数、隐函数、参数方程)画图

1、函数ezplot

格式:

(1)ezplot(’f(x)’,[a,b]),在a

(2)ezplot(’f(x,y)’,[xmin,xmax,ymin,ymax]),在区间xmin

(3)ezplot(’x(t)’,’y(t)’,[tmin,tmax]),在区间tmin

例1 在[0,π]上绘制y=sin(x)的图形。

>>ezplot(‘sin(x)’,[0,pi])

2、函数fplot

格式:fplot(‘fun’,lims),绘制字符串fun制定的函数在lims=[xmin,xmax]的图形

注意:(1)fun必须是M文件的函数名或独立变量为x的字符串;

(2)fplot函数不能画参数方程和隐函数图形,但在一个图形上可以画多个图形。

例2 在[-1,2]上画y=e2x+sin?(3x2)的图形

解:首先建立一个文件没myfun1.m;

fuction Y=myfun1(x)

Y=exp(2*x)+sin(3*x^2)

然后在命令窗口输入命令:

>>fplot(‘myfun1’,[-1,2])

例2 x、y的取值范围在[-2π,2π],画函数tanh(x),sin(x),cos(x)图形

>>fplot(‘[tanh(x),sin(x),cos(x)]’,2*pi*[-1,1,-1,1,-1,1)

3、对数坐标图

说明,很多工程问题,通过对数据进行对数转换可以更清晰地看出数据的某些特征,在对数坐标系中描绘数据点的曲线,可以可以直接地表现对数转换。对数转换有双对数坐标系转换和单独坐标系转换两种。

双对数坐标转换函数loglog ;单轴对数坐标转换:semilogx ,semilogy

loglog (X ,Y ):x,y 坐标轴是以10为底的对数比例坐标系 semilogx (X,Y ):x 坐标轴是对数坐标系 semilogy (X,Y ):y 坐标轴是对数坐标系

例4 绘制y =x 3的函数图像,对数坐标图、半对数坐标图 fplot(‘x^3’,[-3,3])

x=logspace(-3,3,30);loglog(x,x.^3) semilogx(x,x.^3)

20.3.2 三维图形

一、空间曲线 函数:plot3

格式:plot3(x,y,z,s )

其中s 置顶颜色、线形等。若x,y,z 的取值均是n 维向量,则分别表示曲线上点集的横坐标、纵坐标、和竖坐标;若x,y,z 都是m ×n 矩阵,对应的每一列表示表示一条曲线。

例 在区间[0,10π]画出参数曲线x=sin (t ),y=cos (t ),z=t 。 t=0:pi/50:10*pi; plot3(sin(t),cos(t),t)

例 画多条曲线观察函数Z=(X +Y )2

x=-3:0.1:3;y=1:0.1:5;

[X,Y]=meshgrid(x,y);%产生一个向量x 为行、向量y 列的矩阵 Z=(X+Y).^2; plot3(X,Y ,Z) 二、空间曲面

1、surf (x,y,z ):画出数据点(x,y,z )表示的曲面 画函数Z=(X +Y )2

图形 x=-3:0.1:3;y=1:0.1:5;

[X,Y]=meshgrid(x,y);%产生一个向量x 为行、向量y 列的矩阵 Z=(X+Y).^2; surf(X,Y ,Z) shading flat

2、mesh (x,y,z ):画网格曲面

画函数Z=(X +Y )2在不同视角的网格图。 x=-3:0.1:3;y=1:0.1:5;

[X,Y]=meshgrid(x,y);%产生一个向量x 为行、向量y 列的矩阵 Z=(X+Y).^2; mesh(X,Y,Z)

3、meshz(X,Y,Z): 在网格周围画一个curtain图(如,参考平面)

例绘peaks的网格图

[X,Y]=meshgrid(-3:.125:3);

Z=peaks(X,Y);

meshz(X,Y,Z)

20.3.3 图形修饰

一、在图形上加格栅、图例和标注

命令1 grid

功能给二维或三维图形的坐标面增加分隔线。该命令会对当前坐标轴的Xgrid,Ygrid,Zgrid的属性有影响。

用法grid on 给当前的坐标轴增加分隔线。

grid off 从当前的坐标轴中去掉分隔线。

grid 转换分隔线的显示与否的状态。

grid(axes_handle,on|off) 对指定的坐标轴axes_handle是否显示分隔线。

命令2 gtext

功能在当前二维图形中用鼠标放置文字。当光标进入图形窗口时,会变成一个大十字,表明系统正等待用户的动作。

用法gtext('string') 当光标位于一个图形窗口内时,等待用户单击鼠标或键盘。若按下鼠标或键盘,则在光标的位置放置给定的文字“string”

h = gtext('string') 当用户在鼠标指定的位置放置文字“string”后,返回一个text图形对象句柄给h。

命令3 legend

功能在图形上添加图例。该命令对有多种图形对象类型(线条图,条形图,饼形图等)的窗口中显示一个图例。对于每一线条,图例会在用户给定的文字标签旁显示线条的线型,标记符号和颜色等。当所画的是区域(patch或surface对象)时,图例会在文字旁显示表面颜色。Matlab在一个坐标轴中仅仅显示一个图例。图例的位置有几个因素决定,像遮挡的对象等,用户可以用鼠标拖动图例到恰当的位置,双击标签可以进入标签编辑状态。

用法legend('string1','string2',…) 用指定的文字string在当前坐标轴中对所给数据的每一部分显示一个图例。

legend(h,'string1','string2',…) 用指定的文字string在一个包含于句柄向量h中的图形显示图例。用给定的数据对相应的图形对象加上图例。

legend(string_matrix) 用字符矩阵参量string_matrix的每一行字符串作为标签。 legend(h,string_matrix) 用字符矩阵参量string_matrix的每一行字符串作为标签给包含于句柄向量h中的相应的图形对象加标签。

legend(axes_handle,…) 给由句柄axes_handle指定的坐标轴显示图例。

legend('off') 从当前的坐标轴,或是由axes-handle指定的坐标轴中除掉图例。

legend(axes_handle,'off') 从由axes_handle指定的坐标轴中除掉图例。 legend_handle = legend 返回当前坐标轴中的图例句柄,若坐标轴中没有图例存在,则返回空向量。

legend 对当前图形中所有的图例进行刷新。

legend(legend_handle) 对由句柄legend_handle指定的图例进行刷新。

legend(

h = legend(…) 返回图例的句柄向量。

legend_handle,object_handles] = legend(…) 返回图例句柄,该句柄为坐标轴定义于图例中的图形对象、line 对象、text 对象的句柄。这些句柄允许用户对每个对象进行详细的操作。

例1

>>x = -pi:pi/20:pi;

>>plot(x,(cos(x)).^2,'rd',x,asin(x),'-.b')

>>h = legend('cos2x','asin',2); 图形结果为图7-22。 命令4 title

功能 给当前轴加上标题。每个axes 图形对象可以有一个标题。标题定位于axes 的上方正中央。 用法

title('string') 在当前坐标轴上方正中央放置字符串string 作为标题

title(fname) 先执行能返回字符串的函数fname ,然后在当前轴上方正中央放置返回的字符串作为标题 title(…,'PropertyName',PropertyV alue,…) 对由命令title 生成的text 图形对象的属性进行设置 h = title(…) 返回作为标题的text 对象句柄。 命令5 text

功能 在当前轴中创建text 对象。函数text 是创建text 图形句柄的低级函数。可用该函数在图形中指定的位置上显示字符串。

用法 text(x,y,'string')在图形中指定的位置(x,y)上显示字符串string

text(x,y,z,'string') 在三维图形空间中的指定位置(x,y,z)上显示字符串string

text(x,y,z,’string’.'PropertyName',PropertyV alue …) 对引号中的文字string 定位于用坐标轴指定的位置,

图20.3-3

MATLAB及在数学建模中的应用

第1讲MATLAB及 在数学建模中的应用 ? MatLab简介及基本运算?常用计算方法 ?应用实例

一、 MatLab简介及基本运算 1.1 MatLab简介 1.2 MatLab界面 1.3 MatLab基本数学运算 1.4 MatLab绘图

1.1 MatLab简介?MATLAB名字由MATrix和 LABoratory 两词组成。20世纪七十年代后期, 美国新墨西哥大学计算机科学系主任Cleve Moler教授为减轻学生编程负担,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。

?经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。

?1997年春,MATLAB5.0版问世,紧接着是5.1、5.2、5.3、6.0、6.1、6.5、7.0版。现今的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。 ?20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。

?MATLAB具有用法简易、可灵活运用、程式结构强又兼具延展性。以下为其几个特色: ①可靠的数值运算和符号计算。在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函 数可使用。 ②强大的绘图功能。 MATLAB可以绘制各种图形,包括二维和三维图形。 ③简单易学的语言体系。 ④为数众多的应用工具箱。

数学建模matlab例题参考及练习

数学实验与数学建模 实验报告 学院: 专业班级: 姓名: 学号: 完成时间:年月日

承 诺 书 本人承诺所呈交的数学实验与数学建模作业都是本人通过学习自行进行编程独立完成,所有结果都通过上机验证,无转载或抄袭他人,也未经他人转载或抄袭。若承诺不实,本人愿意承担一切责任。 承诺人: 年 月 日 数学实验学习体会 (每个人必须要写字数1200字以上,占总成绩的20%) 练习1 一元函数的图形 1. 画出x y arcsin =的图象. 2. 画出x y sec =在],0[π之间的图象. 3. 在同一坐标系中画出x y =,2x y =,3 x y = ,3x y =,x y =的图象. 4. 画出3 2 3 2)1()1()(x x x f + +-=的图象,并根据图象特点指出函数)(x f 的奇偶性. 5. 画出)2ln(1++=x y 及其反函数的图象. 6. 画出3 21+=x y 及其反函数的图象.

练习2 函数极限 1.计算下列函数的极限. (1) x x x 4 cos 1 2 sin 1 lim 4 - + π → . 程序: sym x; f=(1+sin(2*x))/(1-cos(4*x)); limit(f,x,pi/4) 运行结果: lx21 ans = 1 (2). 程序: sym x; f=(1+cos(x))^(3*sec(x)); limit(f,x,pi/2) 运行结果: lx22 ans = exp(3) (3) 2 2 ) 2 ( sin ln lim x x x - π π → . 程序: sym x; f=log(sin(x))/(pi-2*x)^2; limit(f,x,pi/2) 运行结果: lx23 ans = -1/8 (4) 2 1 2 lim x x e x →. 程序: x x x sec 3 2 ) cos 1( lim+ π →

matlab在数学建模中的应用

Matlab在数学建模中的应用 数学建模是通过对实际问题的抽象和简化,引入一些数学符号、变量和参数,用数学语言和方法建立变量参数间的内在关系,得出一个可以近似刻画实际问题的数学模型,进而对其进行求解、模拟、分析检验的过程。它大致分为模型准备、模型假设、模型构成、模型求解、模型分析、模型检验及应用等步骤。这一过程往往需要对大量的数据进行分析、处理、加工,建立和求解复杂的数学模型,这些都是手工计算难以完成的,往往在计算机上实现。在目前用于数学建模的软件中,matlab 强大的数值计算、绘图以及多样化的工具箱功能,能够快捷、高效地解决数学建模所涉及的众多领域的问题,倍受数学建模者的青睐。 1 Matlab在数学建模中的应用 下面将联系数学建模的几个环节,结合部分实例,介绍matlab 在数学建模中的应用。 1.1 模型准备阶段 模型准备阶段往往需要对问题中的给出的大量数据或图表等进行分析,此时matlab的数据处理功能以及绘图功能都能得到很好的应用。 1.1.1 确定变量间关系 例1 已知某地连续20年的实际投资额、国民生产总值、物价指数的统计数据(见表),由这些数据建立一个投资额模型,根据对未来国民生产总值及物价指数的估计,预测未来的投资额。

表1 实际投资额、国民生产总值、物价指数的统计表 记该地区第t年的投资为z(t),国民生产总值为x(t),物价指数为y(t)。 赋值: z=[90.9 97.4 113.5 125.7 122.8 133.3 149.3 144.2 166.4 195 229.8 228.7 206.1 257.9 324.1 386.6 423 401.9 474.9 424.5]' x=[596.7 637.7 691.1 756 799 873.4 944 992.7 1077.6 1185.9 1326.4 1434.2 1549.2 1718 1918.3 2163.9 2417.8 2631.6 2954.7 3073]' y=[0.7167 0.7277 0.7436 0.7676 0.7906 0.8254 0.8679 0.9145 0.9601 1 1.0575 1.1508 1.2579 1.3234 1.4005 1.5042 1.6342 1.7842 1.9514 2.0688]' 先观察x与z之间,y与z之间的散点图 plot(x,z,'*') plot(y,z,'*') 由散点图可以看出,投资额和国民生产总值与物价指数都近似呈

matlab数学建模实例

第四周 3. 中的三个根。 ,在求8] [0,041.76938.7911.1-)(2 3=-+=x x x x f function y=mj() for x0=0:0.01:8 x1=x0^3-11.1*x0^2+38.79*x0-41.769; if (abs(x1)<1.0e-8) x0 end end 4.分别用简单迭代法、埃特金法、牛顿法求解方程,并比较收敛性与收敛速度(ε分别取10-3、10-5、10-8)。 简单迭代法: function y=jddd(x0) x1=(20+10*x0-2*x0^2-x0^3)/20; k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=(20+10*x0-2*x0^2-x0^3)/20;k=k+1; end x1 k 埃特金法: function y=etj(x0) x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0); k=1; while (abs(x3-x0)>=1.0e-3) x0=x3; x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=k+1; end 2 ,020102)(023==-++=x x x x x f

x3 k 牛顿法: function y=newton(x0) x1=x0-fc(x0)/df(x0); k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=x0-fc(x0)/df(x0);k=k+1; end x1 k function y=fc(x) y=x^3+2*x^2+10*x-20; function y=df(x) y=3*x^2+4*x+10; 第六周 1.解例6-4(p77)的方程组,分别采用消去法(矩阵分解)、Jacobi迭代法、Seidel迭代法、松弛法求解,并比较收敛速度。 消去法: x=a\d 或 [L,U]=lu(a); x=inv(U)inv(L)d Jacobi迭代法: function s=jacobi(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); C=inv(D); B=C*(L+U); G=C*d; s=B*x0+G; n=1; while norm(s-x0)>=1.0e-8 x0=s; s=B*x0+G;

MATLAB及其在数学建模中的应用

Modeling and Simulation 建模与仿真, 2015, 4(3), 61-71 Published Online August 2015 in Hans. https://www.doczj.com/doc/571360425.html,/journal/mos https://www.doczj.com/doc/571360425.html,/10.12677/mos.2015.43008 Study of MATLAB and Its Application in Mathematical Modeling Chuanqi Qin, Ting Wang, Yuanfeng Jin School of Science, Yanbian University, Yanji Jilin Email: yfkim@https://www.doczj.com/doc/571360425.html, Received: Jul. 22nd, 2015; accepted: Aug. 11th, 2015; published: Aug. 18th, 2015 Copyright ? 2015 by authors and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). https://www.doczj.com/doc/571360425.html,/licenses/by/4.0/ Abstract This article firstly introduces the development and the features of MATLAB software. And then the concept and the process of mathematical modeling are explained. After, the article briefly intro-duces some MATLAB solution methods of mathematical modeling problems, giving several in-stances of some methods. At the last of this article, through a relatively complete example, it fo-cuses on the application of MATLAB in mathematical modeling. It has been found that the applica-tion of MATLAB in mathematical modeling can improve the efficiency and quality of mathematical modeling, enrich the means and methods of mathematical modeling, and play a very important role in the teaching of mathematical modeling course. Keywords MATLAB, Mathematical Modeling, Mathematic Model MATLAB及其在数学建模中的应用 秦川棋,王亭,金元峰 延边大学理学院,吉林延吉 Email: yfkim@https://www.doczj.com/doc/571360425.html, 收稿日期:2015年7月22日;录用日期:2015年8月11日;发布日期:2015年8月18日

matlab数学建模实例

第四周3. 中的三个根。 ,在求8] [0,041.76938.7911.1-)(2 3=-+=x x x x f function y=mj()for x0=0:0.01:8 x1=x0^3-11.1*x0^2+38.79*x0-41.769;if (abs(x1)<1.0e-8)x0 end end 4.分别用简单迭代法、埃特金法、牛顿法求解方程,并比较收敛性与收敛速度(ε分别取10-3、10-5、10-8)。 简单迭代法: function y=jddd(x0) x1=(20+10*x0-2*x0^2-x0^3)/20;k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=(20+10*x0-2*x0^2-x0^3)/20;k=k+1;end x1k 埃特金法: function y=etj(x0) x1=(20-2*x0^2-x0^3)/10;x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=1; while (abs(x3-x0)>=1.0e-3) x0=x3; x1=(20-2*x0^2-x0^3)/10;x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=k+1;end 2 ,020102)(023==-++=x x x x x f

x3 k 牛顿法: function y=newton(x0) x1=x0-fc(x0)/df(x0); k=1; while(abs(x1-x0)>=1.0e-3) x0=x1; x1=x0-fc(x0)/df(x0);k=k+1; end x1 k function y=fc(x) y=x^3+2*x^2+10*x-20; function y=df(x) y=3*x^2+4*x+10; 第六周 1.解例6-4(p77)的方程组,分别采用消去法(矩阵分解)、Jacobi迭代法、Seidel迭代法、松弛法求解,并比较收敛速度。 消去法: x=a\d 或 [L,U]=lu(a); x=inv(U)inv(L)d Jacobi迭代法: function s=jacobi(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); C=inv(D); B=C*(L+U); G=C*d; s=B*x0+G; n=1; while norm(s-x0)>=1.0e-8 x0=s; s=B*x0+G;

10909-数学建模-应用MATLAB建模的一个例子

应用MATLAB 的一个例子 ——数学也是一门技术 王天顺 整理 本来想用 “数学也是一门技术”作题目,主要是基于两点,一是从数学的应用角度,它的确具备了作为一门技术的特征,这也就是今天我要通过一个例子要表达的;二是咱们在座的大多数都是从事职业教育的老师,不知道我理解得是不是正确,职业教育与普通教育的区别是较为侧重于教授技术,我主观上感觉这个题目和大家的关系更紧密一些。但是,这个题目有点太大了!和领导商量了一下还是换个题目吧。 首先可以证明:数学确是一门技术,比如说要从技术的定义入手,流行的做法是:查查《辞海》,查查相关的如《科学学辞典》和《科技辞典》等等,看看他们是怎样给技术定义的;其次,论述一下数学的确是符合这些定义的。 实际上,我也确实查阅过这些资料,可以说没有问题,一定可以找到证据证明这个论断! 注:“技术”一词的中文解释有两种,一种是以《辞海》为代表的解释,把技术定义为:(1 )泛指根据生产实践经验和自然科学原理而发展成的各种工艺操作方法与技能;(2)除操作技能外, 广义的还包括相应的生产工具和其他物质设备,以及生产的工艺过程或作业程序、方法。另一种是以《科学学辞典》和《科技辞典》为代表的解释,把技术定义为:是为社会生产和人类物质文化生活需要服务的,供人类利用和改造自然的物质手段、智能手段和信息手段的总和。 可见, “技术”一词所包含的内容除了有形的物化形态之外,还包括无形的智能形态方面。无形的智能形态的技术是客观存在的,在某种意义上说,这方面技术的作用并不亚于物化形态的技术,更不能为物化形态技术所取代(背景资料)。因此,有关“技术”的涵义,有人概括为:指的是有形的物化技术和无形的智能技术的总和。 当然,容易想到我们把数学看作一门技术,可能更多的是从技术的无形“智能形态”角度论述的。我想这只是他的一个方面,今天先给各位介绍的是一个例子,展现他的另一个方面,用数学(包括相关的软件)去解决一个实际问题,其过程就像“传统的”、物化形态的技术一样;其次,结合上述例子,探讨有关数学建模及相关培训指导工作的一般原则和步骤,谈一点个人对此项工作的认识;最后,介绍我校的这些年数学建模培训工作的一些具体做法。 一、足球比赛中的吊门问题 1. 问题:只考虑如下的因素:球与球门的距离为a ,守门员与球门的距离为b (假设在调 门过程中,守门员不能移动),球门高h ,守门员最大摸高H ,球出脚的初速度为0v ,与水平方向的夹角为α(称为初射角).针对下列数据求能吊门成功的α,h=2.44m ,H=3.20m ,s m v /300= ,重力加速度g=10m/s 2,针对下列几组数据分别给出具体能吊门成功的相应初射角范围,要求精度在小数点后第4位。 (1) a=6m ,b=1m ; (2) a=10m ,b=3m ; (3) a=20m ,b=5m ; 2. 问题分析 (1) 在不考虑空气阻力的情况下,抛射体的运动轨迹是抛物线:

matlab数学建模实例

第四周 3. function y=mj() for x0=0:0.01:8 x1=x0^3-11.1*x0^2+38.79*x0-41.769; if (abs(x1)<1.0e-8) x0 end end 4.分别用简单迭代法、埃特金法、牛顿法求解方程,并比较收敛性与收敛速度( 分别取10-3、10-5、10-8)。 简单迭代法: function y=jddd(x0) x1=(20+10*x0-2*x0^2-x0^3)/20; k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=(20+10*x0-2*x0^2-x0^3)/20;k=k+1; end x1 k 埃特金法: function y=etj(x0) x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0); k=1; while (abs(x3-x0)>=1.0e-3) x0=x3; x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=k+1; end x3 k 牛顿法: function y=newton(x0)

x1=x0-fc(x0)/df(x0); k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=x0-fc(x0)/df(x0);k=k+1; end x1 k function y=fc(x) y=x^3+2*x^2+10*x-20; function y=df(x) y=3*x^2+4*x+10; 第六周 1.解例6-4(p77)的方程组,分别采用消去法(矩阵分解)、Jacobi迭代法、Seidel迭代法、松弛法求解,并比较收敛速度。 消去法: x=a\d 或 [L,U]=lu(a); x=inv(U)inv(L)d Jacobi迭代法: function s=jacobi(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); C=inv(D); B=C*(L+U); G=C*d; s=B*x0+G; n=1; while norm(s-x0)>=1.0e-8 x0=s; s=B*x0+G; n=n+1; end n Seidel迭代法: function s=seidel(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1);

matlab数学建模实例

m a t l a b数学建模实例集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

第四周3. function y=mj() for x0=0::8 x1=x0^*x0^2+*; if (abs(x1)< x0 end end 4.分别用简单迭代法、埃特金法、牛顿法求解方程,并比较收敛性与收敛速度(分别取10-3、10-5、10-8)。 简单迭代法: function y=jddd(x0) x1=(20+10*x0-2*x0^2-x0^3)/20; k=1; while (abs(x1-x0)>= x0=x1; x1=(20+10*x0-2*x0^2-x0^3)/20;k=k+1; end x1 k 埃特金法: function y=etj(x0) x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0); k=1; while (abs(x3-x0)>= x0=x3; x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=k+1; end x3 k 牛顿法: function y=newton(x0) x1=x0-fc(x0)/df(x0);

k=1; while (abs(x1-x0)>= x0=x1; x1=x0-fc(x0)/df(x0);k=k+1; end x1 k function y=fc(x) y=x^3+2*x^2+10*x-20; function y=df(x) y=3*x^2+4*x+10; 第六周 1.解例6-4(p77)的方程组,分别采用消去法(矩阵分解)、Jacobi迭代法、Seidel迭代法、松弛法求解,并比较收敛速度。 消去法: x=a\d 或 [L,U]=lu(a); x=inv(U)inv(L)d Jacobi迭代法: function s=jacobi(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); C=inv(D); B=C*(L+U); G=C*d; s=B*x0+G; n=1; while norm(s-x0)>= x0=s; s=B*x0+G; n=n+1; end n Seidel迭代法: function s=seidel(a,d,x0) D=diag(diag(a));

基于matlab的数学建模

MATLAB在数学建模中的应用 (张威10322010910级专升本电气一班) 摘要 随着社会和计算机技术的发展,数学科学与计算机技术相结合,在社会各领域发挥着越来越重要的作用,能够方便、高效的解决各种实际问题。在目前用于数学建模的软件中,Matlab强大的数值计算、绘图以及多样化的工具箱功能,能够快捷、高效地解决数学建模所涉及的众多领域的问题,倍受数学建模者的青睐。Matlab是一款非常好的软件,功能强大,应用面广。从实例出发,论述Matlab在数学建模中的应用,以提高对Matlab软件的认识,提高解决实际问题的能力。本文结合数学建模的几个环节,用一些实例阐述了Matlab在数学建模中的应用。将Matlab用于数学建模可以提高数学建模的效率和质量。丰富数学建模的方法和手段,具有重要的意义。 关键词:Matlab软件,数学建模,最优化 Abstract With the development of society and computer technology,mathematics,science and computer technology in all areas of society is playing an increasingly important role,It can easily and efficiently to solve practical problems.In the currently used mathematical modeling software,Matlab powerful numerical calculations,drawings,and a variety of toolbox functions,can quickly and efficiently solve the mathematical modeling involved in many areas of concern,much of those mathematical modeling all ages.Matlab is a very good software,powerful,wide range of applications.Starting from the example,discussed in Matlab in the application of mathematical modeling to improve understanding of the Matlab software,to improve the ability to solve practical problems.In this paper,several aspects of mathematical modeling with Matlab examples described in the application of mathematical modeling.Mathematical modeling of Matlab for mathematical modeling can improve the efficiency and quality.Extensive mathematical modeling methods and means of great significance. Key Words:MATLAB software,Mathematical modeling,Optimization

数学建模matlab例题参考及练习讲课稿

数学建模m a t l a b例题参考及练习

数学实验与数学建模 实验报告 学院: 专业班级: 姓名: 学号: 完成时间:年月日

承 诺 书 本人承诺所呈交的数学实验与数学建模作业都是本人 通过学习自行进行编程独立完成,所有结果都通过上机验 证,无转载或抄袭他人,也未经他人转载或抄袭。若承诺 不实,本人愿意承担一切责任。 承诺人: 年 月 日 数学实验学习体会 (每个人必须要写字数1200字以上,占总成绩的20%) 练习1 一元函数的图形 1. 画出x y arcsin =的图象. 2. 画出x y sec =在],0[π之间的图象. 3. 在同一坐标系中画出x y = ,2x y =,3x y =,3x y =,x y =的图象. 4. 画出3232)1()1()(x x x f ++-=的图象,并根据图象特点指出函数)(x f 的 奇偶性. 5. 画出)2ln(1++=x y 及其反函数的图象.

6. 画出321+=x y 及其反函数的图象. 练习2 函数极限 1. 计算下列函数的极限. (1)x x x 4cos 12sin 1lim 4-+π→. 程序: sym x ; f=(1+sin(2*x))/(1-cos(4*x)); limit(f,x,pi/4) 运行结果: lx21 ans = 1 (2). 程序: sym x ; f=(1+cos(x))^(3*sec(x)); limit(f,x,pi/2) 运行结果: lx22 ans = exp(3) (3)22)2(sin ln lim x x x -ππ→. 程序: sym x ; f=log(sin(x))/(pi-2*x)^2; limit(f,x,pi/2) 运行结果: lx23 ans = x x x sec 3 2 ) cos 1 ( lim + π →

(2)MATLAB应用实例分析

Matlab 应用例题选讲 仅举一些运用MATLAB 的例子,这些问题在数学建模中时常遇到,希望能帮助同学们在短时间内方便、快捷的使用MATLAB 解决数学建模中的问题,并善用这一工具。 常用控制命令: clc :%清屏; clear :%清变量; save :%保存变量; load :%导入变量 一、利用公式直接进行赋值计算 本金P 以每年n 次,每次i%的增值率(n 与i 的乘积为每年增值额的百分比)增加,当增加到r ×P 时所花费的时间T 为:(利用复利计息公式可得到下式) ) 01.01ln(ln )01.01(i n r T i P P r nT += ?+=?(12,5.0,2===n i r ) MATLAB 的表达形式及结果如下: >> r=2;i=0.5;n=12; %变量赋值 >> T=log(r)/(n*log(1+0.01*i)) 计算结果显示为: T = 11.5813 即所花费的时间为T=11.5813 年。 分析:上面的问题是一个利用公式直接进行赋值计算问题,实际中若变量在某个范围变化取很多值时,使用MATLAB ,将倍感方便,轻松得到结果,其绘图功能还能将结果轻松的显示出来,变量之间的变化规律将一目了然。 若r 在[1,9]变化,i 在[0.5,3.5]变化;我们将MATLAB 的表达式作如下改动,结果如图1。 r=1:0.5:9; i=0.5:0.5:3.5; n=12; p=1./(n*log(1+0.01*i)); T=log(r')*p; plot(r,T) xlabel('r') %给x 轴加标题 ylabel('T') %给y 轴加标题 q=ones(1,length(i)); text(7*q-0.2,[T(14,1:5)+0.5,T(14,6)-0.1,T(14,7)-0.9],num2str(i')) r T 图1

相关主题
文本预览
相关文档 最新文档