当前位置:文档之家› matlab使用指导(2012)

matlab使用指导(2012)

matlab使用指导(2012)
matlab使用指导(2012)

一、基础知识

1.1 常见数学函数

如:输入x=[-4.85 -2.3 -0.2 1.3 4.56 6.75],则:

ceil(x)= -4 -2 0 2 5 7

fix(x) = -4 -2 0 1 4 6

floor(x) = -5 -3 -1 1 4 6

round(x) = -5 -2 0 1 5 7

1.2 系统的在线帮助

1 help 命令:

1.当不知系统有何帮助内容时,可直接输入help以寻求帮助:

>>help(回车)

2.当想了解某一主题的内容时,如输入:

>> help syntax(了解Matlab的语法规定)

3.当想了解某一具体的函数或命令的帮助信息时,如输入:

>> help sqrt (了解函数sqrt的相关信息)

2 lookfor命令

现需要完成某一具体操作,不知有何命令或函数可以完成,如输入:

>> lookfor line (查找与直线、线性问题有关的函数)

1.3 常量与变量

系统的变量命名规则:变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合。此外,系统内部预先定义了几个有特殊意

1 数值型向量(矩阵)的输入

1.任何矩阵(向量),可以直接按行方式

...输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔;行与行之间用分号(;)分隔。所有元素处于一方括号([ ])内;

例1:

>> Time = [11 12 1 2 3 4 5 6 7 8 9 10]

>> X_Data = [2.32 3.43;4.37 5.98]

2

上面函数的具体用法,可以用帮助命令help得到。如help zeros,可查到zeros的具体用法。

例:meshgrid(x,y)

输入x=[1 2 3 4]; y=[1 0 5]; [X,Y]=meshgrid(x, y),则

X = Y =

1 2 3 4 1 1 1 1

1 2 3 4 0 0 0 0

1 2 3 4 5 5 5 5

目的是将原始数据x,y转化为矩阵数据X,Y。

2 符号向量(矩阵)的输入

1.用函数sym定义符号矩阵:

函数sym实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制。只需将方括号置于单引号中。

例2:

>> sym_matrix = sym('[a b c;Jack Help_Me NO_WAY]')

sym_matrix =

[ a, b, c]

[Jack, Help_Me, NO_WAY]

2.用函数syms定义符号矩阵

先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵。

例3:

>> syms a b c ;

>> M1 = sym('Classical');

>> M2 = sym(' Jazz');

>> M3 = sym('Blues');

>> A = [a b c;M1,M2,M3;sym([2 3 5])]

A =

[ a, b, c]

[Classical, Jazz, Blues]

[ 2, 3, 5]

1.4 数组(矩阵)的点运算

运算符:+(加)、-(减)、./(右除)、.\(左除)、.^(乘方),

例4:

>> g = [1 2 3 4];h = [4 3 2 1];

>> s1 = g + h, s2 = g.*h, s3 = g.^h, s4 = g.^2, s5 = 2.^h

1.5 矩阵的运算

运算符:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)、’(转置)等;常用函数:det(行列式)、inv(逆矩阵)、rank(秩)、eig(特征值、特征向量)、rref (化矩阵为行最简形)

例5:

>> A=[2 0 –1;1 3 2]; B=[1 7 –1;4 2 3;2 0 1];

>> M = A*B % 矩阵A与B按矩阵运算相乘

>> det_B = det(B) % 矩阵A的行列式

>> rank_A = rank(A)% 矩阵A的秩

>> inv_B = inv(B)% 矩阵B的逆矩阵

>> [V,D] = eig(B)% 矩阵B的特征值矩阵V与特征向量构成的矩阵D

>> X = A/B % A/B = A*B-1,即XB=A,求X

>> Y = B\A % B\A = B-1*A,即BY=A,求Y

1.6 关系运算符:

1.关系操作符:

2.

2

上机练习(一):

1.练习数据和符号的输入方式,将前面的命令在命令窗口中执行通过;

2.输入A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3],在命令窗口中执行下列表达式,掌握其含义:

A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2)

A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A 3.输入C=1:2:20,则C(i)表示什么?其中i=1,2,3, (10)

4.查找已创建变量的信息,删除无用的变量;

5.欲通过系统做一平面图,请查找相关的命令与函数,获取函数的帮助信息。

6.利用help 学习一下函数的功能:

size() ones() rand() randn() pascal() dot() cross() max() min() sort() mean() det()

inv() trace() norm() rank() floor() round() fix() ceil() mod()

7.利用help学习一下命令的功能:

clear clc clock now whos date tic toc save load

二、编程

2.1 无条件循环

当需要无条件重复执行某些命令时,可以使用for循环:

for 循环变量t=表达式1 : 达式2 : 表达式3

语句体

end

说明:表达式1为循环初值,表达式2为步长,表达式3为循环终值;当表达式2省略时则默认步长为1;for语句允许嵌套。

例6:如:矩阵输入程序

生成3×4阶的Hiltber矩阵。m=input(‘矩阵行数:m=’);

for i=1 : 3n= input(‘矩阵列数:n=’);

for j=1 : 4 for i=1:m

H(i,j)=1/(i+j-1);for j=1:n

end disp([‘输入第’,num2str(i),’行,第’, num2str(j),’列元素’]) end A(i, j) = input (‘’)

end end

2.2 条件循环

1) if-else-then 语句

if-else-then 语句的常使用三种形式为:

(1) if 逻辑表达式 (3) if 逻辑表达式1 语句体 语句体1

end elseif 逻辑表达式2 语句体2 (2) if 逻辑表达式1 elseif 逻辑表达式3 语句体1 … else else

语句体2 语句体n

end end 2) while 循环语句

while 循环的一般使用形式为:

while 表达式 语句体 end 例7:

用二分法计算多项式方程523

--x x = 0在[0,3]内的一个根。 解:

a = 0;fa = -inf ;

b = 3;fb = inf ; while b-a > eps*b x =(a+b )/2; fx = x^3-2*x-5; if sign(fx)== sign(fa) a =x ;fa = fx ; else

b = x ;fb = fx ; end end x

运行结果为:x = 2.0945515148154233

2.3 分支结构

若需要对不同的情形执行不同的操作,可用switch 分支语句:

switch 表达式(标量或字符串)

case 值1

语句体1

case 值2

语句体2

otherwise

语句体n

end

说明:当表达式不是“case”所列值时,执行otherwise语句体。

2.4 建立M文件

将多个可执行

...的系统命令,用文本编辑器编辑后并存放在后缀为.m 的文件中,若在MATLAB命令窗口中输入该m-文件的文件名(不跟后缀.m!),即可依次执行该文件中的多个命令。这个后缀为.m的文件,也称为Matlab的脚本文件(Script File)。

注意:文件存放路径必须在Matlab能搜索的范围内。

2.5 建立函数文件

对于一些特殊用户函数,系统提供了一个用于创建用户函数的命令function,以备用户随时调用。

1.格式:

function [输出变量列表]=fun_name(输入变量列表)

用户自定义的函数体

2.函数文件名为:fun_name,注意:保存时文件名

...与函数名

...最好相同;

3.存储路径:最好在系统的搜索路径上。

4. 调用方法:输出参量=fun_name (输入变量)

例8:

计算s = n!,在文本编辑器中输入:

function s=pp(n);

s=1;

for i=1:n

s=s*i;

end

s;

在MA TLAB命令窗口中输入:s=pp(5)

结果为s = 120

上机练习(二):

1.编写程序,计算1+3+5+7+…+(2n+1)的值(用input 语句输入n 值)。

2.编写分段函数 ??

?

??≤≤-<≤=其它021210)(x x x x

x f 的函数文件,存放于文件ff.m 中,计算出

)3(-f ,)2(f ,)(∞f 的值。

3.1 极限limit:

limit(F, x, a) 计算)x (F lim a

x →

limit(F, a) 符号表达式F 中由命令findsym (F )返回独立的变量v ,计算)v (F lim a

v →

limit(F) 符号确定同上,设为v ,计算)v (F lim 0

v →

limit(F, x, a, 'right') 计算)x (F lim a

x +→

limit(F, x, a, 'left') 计算)x (F lim a

x -→

例9:

计算 2

n n

1n n 6lim 2

n +++-∞→, 2x 1lim 3

x -++

→ 解:

>> syms n m x

>> f = (6*n^2-n+1)/(n^3-n^2+2) >> h = (sqrt(1+x)-2)/(x-3) >> lim_f=limit(f, n, inf) >> lim_h=limit(h,x,3,'right') 运算结果是: lim_f = 0 lim_h =

1/4

3.2 函数的导数diff:

diff(f, v) 计算dv df 或v

f ??

diff(f, v, n) 计算n n

dv f d 或n

n v

f ?? diff(f, n) 独立变量确定同上,设为v,计算n n

dv f d 或n

n v

f ??

例10:

已知)y x lg(z +=,证明:21y z y x z x =???+???。

解:

>> x = sym('x') >> y = sym('y')

>> z = log(sqrt(x)+sqrt(y))

>> result = x * diff(z, x) + y* diff(z, y) >> simple(result) 计算的结果为: result= 1/2

例11: 已知 )z y x ln(x z

y arctg ++=+,求 ?z =? ?z 2=?

解:

设方程F(x, y , z) = 0确定了函数z = z(x, y),则'

z '

x

F F x

z -

=??,再用类似的计算方法,可以计算y

x z 2

???。

>> syms x y z

>> F = atan((y+z)/x)-log(x+y+z) >> dFdx = diff(F , x) >> dFdz = diff(F , z)

>> dZdx = -dFdx/dFdz % 计算z ?

>> dZdxdy = diff(dZdx, y) >> dZdxdz = diff(dZdx, z)

>> d2Zdxdy = -dZdxdy/dZdxdz % 计算y

x z 2

???

3.3 单积分int 、quad 、quad8:

1. int —不定积分:

F = int(f)

F = int(f, var) f :被积函数,var :对函数f 中的变量var 积分。

F :函数f 的原函数。F .中.没有常数....C .。 例12:

计算 ?+=dx e 1F z xy , dz e 2F z xy ?+= 解:

>> syms x y z; >> f = exp(x*y+z); >> F1 = int(f) >> F2 = int(f, z) 2. int —定积分及广义积分:

F = int(f, a, b)

F = int(f, var, a, b) f :被积函数;a,b :积分上下限,可为无穷大∞(负无穷大:

-∞); F :函数的积分值,有时为无穷大。 3.quad 、quad8—定积分:

y = quad(‘f’, a, b, tol)

y = quad8(‘f’, a, b, tol) 参数说明:

f :被积函数;a, b :积分上下限;tol :计算精度,quad()的默认值为:tol=1e-3,quad8()的默认值为:tol=1e-6。quad()函数采用的是Simpson 方法计算定积分的近似值。quad8()函数采用的是Newton Cotes 方法计算定积分的近似值,其精度比前者更高。 例13: 计算 ?π

++=2

2dx 3x 2x 11F , ?+∞∞-++=dx 3

x 2x 12F 2 解:

>> syms x

>> f = 1/(x^2+2*x+3); >> F1 = int(f,2,pi) >> F2 = int(f,-inf,inf) 运算的结果是: F1 =

1/2*atan(1/2*2^(1/2)*(pi+1))*2^(1/2)-1/2*atan(3/2*2^(1/2))*2^(1/2) F2 =

1/2*2^(1/2)*pi 例14:

计算无初等原函数的定积分

?--π33

2/x x d e 212 解:

先定义被积函数为函数文件,文件名为:f.m function y = f (x)

y=1/sqrt(2*pi)*exp(-x.^2/2);

保存后,在命令窗口键入

>> format long

>> y = quad('f', -3, 3)

则显示结果为

y =

0.99730005055470

3.4 泰勒展式taylor:

taylor(f) f:待展开的函数表达式,可以不用单引号生成;

taylor(f, n) n:把函数展开到n阶;若不包含n,则缺省地展开到6阶taylor(f, v) v:对函数f中的变量v展开

taylor(f, a) a:对函数f在x=a点展开。

例15:

e 展开到6阶;

计算(1)把y =x

(2)把y = lnx在x = 1点展开到6阶;

(3)把y = t x关于变量t展开到3阶。

解:

>> syms x t

>> t1 = taylor(exp(-x))

>> t2 = taylor(log(x),6,1)

>> t3 = taylor(x^t,3,t)

运算结果为:

t1 =

1-x+1/2*x^2-1/6*x^3+1/24*x^4-1/120*x^5

t2 =

x-1-1/2*(x-1)^2+1/3*(x-1)^3-1/4*(x-1)^4+1/5*(x-1)^5

t3 =

1+log(x)*t+1/2*log(x)^2*t^2

3.5 近似梯度gradient:

[FX,FY] = gradient(F)

[FX,FY] = gradient(F,H)

[FX,FY] = gradient(F,HX,HY)

[FX,FY,FZ] = gradient(F)

[FX,FY,FZ] = gradient(F,HX,HY,HZ)

参数说明:

F:待求梯度的数值矩阵。F可以为向量、二维矩阵、三维矩阵;

FX,FY,FZ:矩阵F在x、y、z方向上的数值梯度;

H :H 为一标量,作为各个方向上各点之间的步长;

HX,HY,HZ :矩阵F 在x 、y 、z 方向上的具体步长。HX,HY ,HZ 可为标量或与矩阵

F 各个方向上同维的向量。

例16:

计算函数 2

2

y x

xe z --=数值梯度,且以图形显示。

解:

>> [x,y] = meshgrid(-2:.2:2, -2:.2:2); >> z = x .* exp(-x.^2 - y.^2); >> [px,py] = gradient(z,.2,.2); >> contour (z ) >> hold on

>> quiver (px, py )

3.6 函数梯度和方向导数jacobian :

jacobian(f, v) 参数说明:

f :函数向量或标量,当f 为标量时,jacobian(f, v) = gradient(f); v :自变量向量或者单个变量。 例17:

求 ①x yz u =在点M(1,1,1) 处的梯度;

②z 6y 2x 3xy z 3y 2x u 222--++++=在点O(0, 0, 0)及A(1, 2, 3)处的梯度。 解:

>> syms x y z >> u1 = x*y*z

>> u2 = x^2+2*y^2+3*y^2+x*y+3*x-2*y-6*z >> v = [x, y, z]

>> J1 = jacobian(u1,v) >> J2 = jacobian(u2,v)

>> J1_M = subs(subs(subs(J1,x,1),y,1),z,1) >> J2_O = subs(subs(subs(J2,x,0),y,0),z,0) >> J2_A = subs(subs(subs(J1,x,1),y,2),z,3) 计算的结果为: J1_M =

1 1 1 J2_O =

3 -2 -6 J2_A =

6 3 2

3.7 方程(组)的求解solve 、linsolve :

x = linsolve(A, B) 专门用于求解线性方程组 ss = solve (s) 可适用于所有代数方程(组) ss = solve(s, v) 参数说明:

s :包含方程(一个)等式的字符串(可以是函数名,或者是描述方程的字符串); v :方程s 中的一个变量; 例18:

求解:(1)B AX =,其中????

??=3152A ,???

?

??-=1264B ; (2)q t x p =+)2sin(,其中t 为未知数;

解:

>> A = [2,5;1,3]; B = [4,-6;2,1]; >> x = linsolve(A,B) 或X=A\B >> solve('p*sin(2*x+t)=q','t')

例19:

求非线性方程组的解 ?

??=-=-+20

)sin(2

y x y e y x x 解:

>> [x,y] = solve('sin(x+y)-exp(x)*y = 0','x^2-y = 2') 计算结果为: x =

-6.0173272500593065641097297117905 y =

34.208227234306296508646214438330 上机练习(三):

1.求极限:x x x sin lim

0→ 2. 求导数:x y ln =,求dx

dy

3.求不积分:?dx e x

2 4. 求定积分:?+102

1x dx

5.解方程组:?

??=-=+122

22y x y x 6. 求)sin(x y =的5阶泰勒展开式。

四、微分方程

4.1 常微分方程(组)的符号解dsolve :

[y1,y2,…] = dsolve('eqn1','qun2',…,'var1','var2',…,'inition','disp_var1','disp_var2'…) 参数说明:

'eqn1','eqn 2',…:包含微分方程(组)在内的字符串,可以是函数名或是微分方程

(组)的表达式;每个'eqn_i'可以包含一个或多个微分方程。

'var1','var2',…:指定方程组中独立的变量(若方程组中有多个符号,要指定某个

符号为未知变量符号);

'inition':微分方程的初始条件(组),或者是初始条件的表达式。如:

'y(a) = b'表示b )x (y a x ==,'D3y(c) = d' 表示d dx

y

d c

x ==3

3

例20:

求通解 (1)y''+3y'+2y = 0

(2)??

?

??==++-='+='0)0(,0)0(1y x y x y y x x t t

解:

>> equ_1 = 'D2y+3*Dy+2*y=0' >> equ_41 = 'Dx=y+x' >> equ_42 = 'Dy=y-x+1' >> y1 = dsolve(equ_1,'x')

>> [x,y] = dsolve(equ_41, equ_42, 'x(0)=0, y(0)=0') 计算结果为(略):

4.2 常微分方程(组)的数值解odeXX:

[t, y]=odeXX('F',tspan,y0,) 参数说明:

XX 可为45或者为23,F 是函数名。tspan 为自变量t 的积分范围,y0为方程的初始状态值。

例21:

把高阶(3阶)方程0y 4y 3y 2y =+'+''+'''转化为同解的一阶导数方程组,写成函数文件,并在时间段 [0, 120] 内求解。

解:

设 ???

??''='==y y y y y

y 321,则原方程等价于方程组?????---===1

23'33'22'1y 4y 3y 2y y y y y ,

令y (1)= y y 1=,y (2)=y y 2'=,y (3)=y '',

1.写成函数文件为:

function y = my_fun (t ,y )

y = [y (2); y (3); -2*y (3)-3*y (2)-4*y (1)] 2.保存于文件:my_fun.m 3.调用函数odeXX 求解。

>> y0 = [10;9;8]; % 定解条件 >> [t, y] = ode23('my_fun',[0,120],y0); >> plot (t ,y (:,1)) % y 的第一列为方程的解 >> xlabel ('time')

>> ylabel ('y = y (t )')

五、数值分析

5.1 级数求和symsum :

S=symsum(s) s :数列的通项式; S=symsum(s, v) v :通式S 中的变量,求和时将对v 从1求至v-1; S=symsum(s, v, a, b) a,b :对变量从a 至b 求和,b 可以为无穷大;

例22:

求下列数列的和 ①.∑-=-=

1

02

)

12(1

1n k k S ②.∑∞

=++=

1

2

22)2()1(1

2k k k k S 解:

>> syms n

>> s1 = 1/(2*n-1)^2;

>> s2 = 1/(n*(n+1)*(n+2))^2; >> S1 = symsum(s1)

>> S2 = symsum(s2, n, 1, inf)

5.2 拟合与插值polyfit 、interp1:

1. 最小二乘法 例23:

由此推测出x 和y 的函数关系:y=f (x )。 解:

先把数据点描出来,观察x 和y 大概满足的函数关系。为此先把数据x 和y 进行适当的调整,使自变量x 的值从小到大排列,y 也做相应的排列: >> x = [104 180 190 177 147 134 150 191 204 121]; >> y = [100 200 210 185 155 135 170 205 235 125]; >> [x,i] = sort(x) >> y = y(i)

>> plot(x, y, 'r*') >> hold on (图略)

这些数据点大致分布于一直线上,由此推测x 和y 有线性函数关系:y = ax+b ,由数学推断过程得:

2

1

1

21

1

1

)()()

)((∑∑∑∑∑=====--=

n

i i n i i n

i i n i i n i i i x x n y x y x n a , 2

1

1

21

1121

)()()

)(())((∑∑∑∑∑∑======--=

n

i i n i i n

i i i n i i n i i

n i i x x n y x x x y b ,

其中n 为x 和y 的长度。用Matlab 计算a 与b 为: >> n = length (x );

>> a_den = n*sum (x.*y )– sum (x )*sum (y ); >> b_den = sum (y).*sum(x.^2) – sum (x).*sum (x.*y ); >> ab_num = n*sum (x.^2)–(sum (x ))^2; >> a = a_den/ab_num >> b = b_den/ab_num >> x = 100:0.5:220; >> y = a*x +b >> plot (x,y ) (图略)

2. 一维拟合polyfit:

在MA TLAB 中,一般选用多项式作为拟合函数:

p=polyfit(x, y, n) x, y :测量数据的横纵坐标向量,n 为多项式的次数,p :拟合多项

式的系数向量(按降幂排列)。

Y=polyval(p, x) p:多项式系数向量,x:自变量向量,Y:多项式在x处的值例24:

在某次工程测量中得到如下数据:

对以上数据用一次数合适的多项式进行拟合,并画图比较。

解:

先把数据点描出来:

>> x = 15:5:50;

>> y = [0 7442 26703 41635 49785 50209 50226 50230]

>> subplot(2,2,1), plot(x, y,'*')

用2、3、5次多项式对数据进行拟合,分别画出图形,与原数据点进行比较:>> p2 = polyfit(x,y,2)

>> p3 = polyfit(x,y,3)

>> p5 = polyfit(x,y,5)

>> xi = 15:0.1:50;

>> y2i = polyval(p2,xi);

>> y3i = polyval(p3,xi);

>> y5i = polyval(p5,xi);

>> subplot(2,2,2), plot(x, y,'*',xi,y2i,':')

>> subplot(2,2,3), plot(x, y,'*',xi,y3i,'-')

>> subplot(2,2,4), plot(x, y,'*',xi,y5i,'--')

计算结果为:

p2 =

1.0e+004 *[-0.0066 0.5845 -7.6669]

p3 =

1.0e+004 *[-0.0001 0.0035 0.2800 -4.8880]

p5 =

1.0e+005 *

[-0.0000 0.0000 -0.0015 0.0526 -0.8082 4.5106]

从图中可以看得出来,5次多项式的拟合效果是最好的。

3.一维插值interp1:

t = interp1(X, Y, X0, 'method')

参数说明:

X:原始数据的横坐标向量,必须是单调增加的向量;

Y:原始数据的纵坐标向量;

X0:待插值的点的横坐标,可以是标量或单调增加的向量;

t :若X0为标量,10+<

也是同维向量;

'method':指定插值的算法,取值如下:

'nearest':最近插值。该方式不进行插值。而是找出与点X0最接近的原始数据点,再返回其值;

'linear':线性插值。该方式认为相邻的点之间是线性关系;

'cubic':三次插值。该方式认为被插函数在点X0处的值落在过相临两点的三次

曲线上;

'spline':样条插值。该方式认为被插函数在点X0处的值落在过相临两点的三次

样条曲线上。

例25:

在例24中,由于需要,现估计x = 22, 27, 36时y 的值,比较几种插值方式的差异。 解:

>> x = 15:5:50;

>> y = [0 7442 26703 41635 49785 50209 50226 50230] >> X0 = [22 27 36];

>> Y0_n = interp1(x,y,X0,'nearest'); >> Y0_c = interp1(x,y,X0,'cubic'); >> Y0_s = interp1(x,y,X0,'spline'); >> Y0_l = interp1(x,y,X0,'linear'); >> p5 = polyfit(x,y,5); >> xi = 15:0.1:50;

>> y5i = polyval(p5,xi);

>> plot(x,y,'*',xi,y5i,':',X0,Y0_n,'s',X0,Y0_c,'p',X0,Y0_s,'h',X0,Y0_l,'d')

上机练习(四):

1.对下列数据进行1次或3次拟合:(1,4),(2,3),(3,0),(5,-2)

2.求微分方程的符号解:x 3e y 3y 2y -=-'+''。

六、函数作图

6.1 二维图形plot 、fplot :

plot(x, y) 平面曲线图形,x 为自变量,y 为函数值

fplot(FUN, LIMS) FUN 为函数名或表达式,LIMS :变量范围

例26:

画下列函数的图形 (1)604

.0)9.0x (101.0)3.0x (1y 22

-+-++-=

,]10[x ∈; (2)x cos y x sin y x tan y ===???

??,[]ππ-∈22x ,]22[y ππ-∈;

解:

>> x=0:0.01:1;

>> y = 1./((x-0.3).^2+0.01)+1./((x-0.9).^2+0.04)-6 ; >> plot(y, [0 1])

>> fplot('[tan(x), sin(x), cos(x)]', 2*pi*[-1 1 -1 1])

6.2 极坐标作图函数polar :

polar(theta, rho) % 用角度theta (弧度表示)和极半径rho 作极坐标图 例27:

画极坐标图 )3cos()3sin(θθρ=,πθ30≤≤ 解:

>> theta = linspace(0,3*pi); 或theta = 0:pi/180:3*pi; >> rho = sin(3*theta).*cos(3*theta); >> polar(theta ,rho ,'k')

6.3 三维图形

1 三维曲线plot3:

plot3(x_1,y_1,z_1,S_1,x_2,y_2,z_2,S_2,…) 参数说明:

x_n, y_n, z_n :是数据点的x 坐标,y 坐标,z 坐标。其中x_n,y_n ,z_n 为向量或矩阵;S_n :用来指定使用的颜色、标记符号或线形。与plot 的形式完全相同。 例28:

画参数函数图 ??

?

??===t z t cos y t sin x ,π10t 0≤≤.

解:

>> t = 0:pi/50:10*pi;

>> plot3(sin(t),cos(t),t); >> title('Helix Plot')

>> xlabel('sint'),ylabel('cost'),zlabel('t') >> text(0,1,0,'Start Point')

2 三维网格图mesh :

mesh(x, y, z) x 为某一区域内所有取值点的横坐标矩阵;y 为所有取值点的纵坐标

矩阵;z 为函数在取值点的高度矩阵

例29:

在Matlab 内部,预定义了一个曲面函数:山峰函数peaks 。我们利用它来作为三维曲面的演示函数。 解:

>> [X,Y,Z]=peaks(30)

>> subplot(2,2,1), mesh(X,Y,Z)

>> subplot(2,2,2), meshc(X,Y,Z), hidden on >> subplot(2,2,3), meshz(X,Y,Z), grid on 例30:作22y x z +=

的图形。

解:

>> x=0:0.1:10; y=x;

>> [X, Y]=meshgrid(x, y); >> Z=sqrt(X.^2+Y.^2); >> mesh(Z) 3 三维曲面图命令surf :

surf(x, y, z)

surf(z) 参数说明:

x ,y ,z 含义同网格图命令mesh 。曲面图是在网格图的基础之上,在小网格之间用不同颜色填充,使图形更加美观。surf 的调用格式与mesh 的调用格式完全相同。 4 球面sphere :

[x, y, z]= sphere(N) %产生3个(N+1)*(N+1)矩阵, 然后再用surf 可产生单位球面 sphere(N) %只绘图, 不返回任何值,N 为正整数 5 柱面cylinder :

[x, y, z]= cylinder(R, N) % R 为母线,N 等分刻度,用mesh(x,y,z)可产生柱面 例31:

x=0 : pi/20 : 3*pi

实验1熟悉matlab环境和基本操作

实验1 熟悉Matlb环境及基本操作 实验目的: 1.熟悉Matlab环境,掌握Matlab的主要窗口及功能; 2.学会Matlab的帮助使用; 3.掌握向量、矩阵的定义、生成方法和基本运算; 4.掌握Matlab的基本符号运算; 5.掌握Matlab中的二维图形的绘制和控制。 实验内容: 1.启动Matlab,说明主窗口、命令窗口、当前目录窗口、工作空间窗口、历史窗口、图形窗口、M文件编辑器窗口的功能。 2.实例操作Matlab的帮助使用。 3.实例操作向量、矩阵的定义、生成方法和基本运算。 4.实例操作Matlab的基本符号运算。 5.实例操作Matlab中的二维图形绘制和控制。 实验仪器与软件: 1.CPU主频在2GHz以上,内存在512Mb以上的PC; 2.Matlab 7及以上版本。 实验讲评: 实验成绩: 评阅教师: 年月日

实验1 熟悉Matlab环境及基本操作 一、Matlab环境及主要窗口的功能 运行Matlab安装目录下的matlab.exe文件可启动Matlab环境,其默认布局如下图: 其中, 1.主窗口的功能是:主窗口不能进行任何计算任务操作,只用来进行一些整体的环境参数设置,它主要对6个下拉菜单的各项和10个按钮逐一解脱。 2.命令窗口的功能是:对MATLAB搜索路径中的每一个M文件的注释区的第一行进行扫描,一旦发现此行中含有所查询的字符串,则将该函数名及第一行注释全部显示在屏幕上。 3. 历史窗口的功能是:历史窗口显示命令窗口中的所有执行过的命令,一方面可以查看曾经执行过的命令,另一方面也可以重复利用原来输入的命令行,可以从命令窗口中直接通过双击某个命令行来执行该命令,

实验1 MATLAB使用方法和程序设计

实验1 MATLAB 使用方法和程序设计 一、实验目的 1、掌握MATLAB 软件使用的基本方法。 2、熟悉MATLAB 的数据表示、基本运算和程序控制语句。 3、熟悉MATLAB 绘图命令及基本绘图控制。 4、熟悉MATLAB 程序设计的基本方法。 二、实验内容 1.帮助命令 使用Help 命令,查找sqrt (开方)函数的使用方法。 2、矩阵运算 (1)矩阵乘法 已知A=[1 2;3 4];B=[5 5;7 8]; 求A^2*B 。 (2) 矩阵除法 已知A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3]; 求A\B,A/B 。 (3) 矩阵的转置及共轭转置 已知A=[5+i ,2-i ,1;6*i ,4,9-i];求A.’,A ’ 。 (4)使用冒号选出指定元素 已知A=[1 2 3 ; 4 5 6 ; 7 8 9]; 求A 中第3列前2个元素;A 中所有列第2,3行的元素。 (5)方括号[] 用magic 函数生成一个4阶魔术矩阵,删除该矩阵的第四列。 3、多项式 (1)求多项式p(x)=x 3-2x-4的根。 (2)求 f (x) = (cos x)2 的一次导数。 (3)求微分方程 的通解,并验证。 4、基本绘图命令 (1)绘制余弦曲线cost =y , ]2,0[π∈t 。 (2)在同一坐标系中绘制余弦曲线 0.25)-cos(t =y 和正弦曲线 )5.0sin(-=t y ,]2,0[π∈t (3)用plot3函数绘制三维螺线: 22x dy xy xe dx -+= sin()cos()x t y t z t =??=??=?( 0 < t < 20 )

MATLAB环境熟悉及基本操作

实验一 MA TLAB 环境熟悉及基本操作 1. 命令窗口运行入门 1-1 求2 ))39(212(2 -*+的算术运算结果 1-2 简单矩阵A 的生成 1-3 绘制图形比较函数曲线5432x x x x 、、、,要求(一)四个曲线在一个图形文件窗口(二) 子图 2. 命令窗口常用的基本操作 1-4 若用户想计算51) 2sin(21+=πy ,51) 2cos(22+=πy 的值 1-5 变量的保存:save 和load 命令,将已生成的变量保存,名为×××,存入目录C :\my_dir 3. 系统的在线帮助 1-6 help sqrt/help syntax/help (回车) 1-7 lookfor line(查找与直线、线性问题有关的函数) 1-8 help 菜单 实验二 数组(矩阵)及其运算 2-1 用户不能清除的固定变量ans 、eps 、pi 、i 、j 、NaN 、Inf 等 如>>eps Ans=2.2204e-016 2-2 矩阵的创建 (1)>>a=[1 2 3;4 5 6;7 8 9] >>a=[1:2;4:6;7:9]; a1=1:6 (2)利用MA TLAB 内部函数产生矩阵 >>b=eye(3) >>c=ones(2,5) >>d=zeros(3,2) >>e=linspace(-3,6,10) %注意三个参数的含义 >>f=logspace(1,6,5) %注意三个参数的含义 >>R=rand(1,6) (3) 访问元素 >>aa=a(1,2)+a(2,3) >>bb=a(4)+a(8) >>a(end-2:end,2) %在下标中可以直接用end 表示这一维的最后一个元素 (4) 矩阵操作 >>A=[1,2,3;4,5,6;7,8,9] >>B=diag(A) >>C=diag(B) >>D=rot90(A) >>E=reshape(D,1,9) %注意这三个参数的含义 2-3 矩阵运算 (1)算术运算 + - * / \ ^ ‘

matlab基本使用方法

1-1、基本运算与函数 在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如:>> (5*2+1.3-0.8)*10/25 ans =4.2000 MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。小提示: ">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。 我们也可将上述运算式的结果设定给另一个变数x: x = (5*2+1.3-0.8)*10^2/25 x = 42 此时MATLAB会直接显示x的值。由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。 小提示: MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。MATLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MATLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。 若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例: y = sin(10)*exp(-0.3*4^2); 若要显示变数y的值,直接键入y即可: >>y y =-0.0045 在上例中,sin是正弦函数,exp是指数函数,这些都是MATLAB常用到的数学函数。 下表即为MATLAB常用的基本数学函数及三角函数: 小整理:MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) 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):符号函数 (Signum function)。 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1。 > 小整理:MATLAB常用的三角函数 sin(x):正弦函数 cos(x):馀弦函数 tan(x):正切函数

实验1 MATLAB集成环境使用

实验四浸出制剂的制备 实验一 MATLAB集成环境使用实验目的: 1.熟悉MATLAB的基本环境 2.掌握MATLAB的基本命令 3.掌握简单线性方程组的求解 4.掌握MATLAB的行编辑和页面编辑 实验内容与要求 1.观察MATLAB 的基本环境,熟悉菜单和工具栏 2.MATLAB基本命令的使用 a.运行demos, 观看演示程序 b.工作空间管理命令: who , whos , clear , which , quit ,exit workspace c.路径编辑命令: path, cd ,addpath rmpath d.显示格式命令: type wall.m , more on , type coneball.m , more off ,type coneball.m e.窗口清理命令: coneball2 clc cla clf close f. 操作系统命令: copyfile pwd dir delete mkdir g. 联机帮助命令:help help . helpwin lookfor zoom which rguizoom help rguizoom what ver signal 3.简单线性方程组的求解 以学号 208040401 为例 A=[ 2 0 8 0 4 0 4 0 1] b=[ 208 40 401] x==A\b 4.行编辑与页面编辑 a.键入magic(4) 使用,调出该命令,并改变为magic(6)执行. b.执行coneball命令 edit命令, 打开coneball.m文件 改变文件中的半径和高, 存盘后,重新执行该命令,比较前后的不同. 页脚内容1

MATLAB的实验环境及基本命令

实验一 MATLAB 的实验环境及基本命令 一实验目的: 1. 学习了解MATLAB 勺实验环境 2. 在MATLA 系统命令窗口练习有关 MATLAB^令的使用。 二实验步骤 1. 学习了解MATLAB 勺实验环境: 在 Windows 桌面上,用 mouse 双击MATLAB!标,即可进入 MATLA 啲默认界面: 图1-1 MATLAB 系统命令窗口 MATLAB 勺默认界面由三部分组成: ① Comma nd Win dows 命令窗口 ② Comma nd History 历史窗口 ③ Workspace 工作空间 2. 练习MATLA 療统命令的使用。 ①表达式 MATLAB 勺表达式由变量、数值、函数及操作符构成。实验前应掌握有关变量、数值、函数及操作 符的有关内容及使用方法。 三实验内容 练习1-1 :计算下列表达式: 要求计算完毕后,键入相应的变量名,查看并记录变量的值。 a=(1+{10)/2 b=|3+5| c=sin(e±) d = 250 /sin ( ’) 实验过程及结果:a=(1+sqrt(10))/2 a =2.0811 b= abs(3+5*i) b =5.8310 c= si n(exp(-2.3)) c=0.1001 d=250/s in (pi/6) d=500.0000 ②.向量运算:n 维向量是由n 个成员组成的行或列数组。在 MATLA 中,由分号分隔的方括号中的元 素产生一个列向量;由逗号或空号分隔的方括号中的元素产生一个列向量;同维的向量可进行加减运 算,乘法须遵守特殊的原则。 练习1-2 已知:X=[2 ; -4 ; 8] 求:Y=R ; P=5*R; E=X* Y ; S=X * Y 实验过程及结果:R=[tan(pi/4),sqrt(9),-5] R=1.0000 3.0000 - Y=R' Y=1.0000 P=5*R P =5.0000 15.0000 -25.0000 R=1.0000 3.0000 -5.0000

MATLAB 基本操作和简单语句输入

实验一基本操作和简单语句输入 一、实验目的和要求 1、熟悉MATLAB的命令窗口 2、掌握MATLAB的一些基本操作,能够进行一般的数值计算 3、实现语句的重调和修改 二、实验内容和步骤 1、启动MATLAB 2、观察MATLAB窗口的组成部分 (1)了解菜单栏各菜单项的功能,用书变打开MA TLAB的各个菜单,在状态栏里显示当前鼠标所指的菜单项的含义 (2)用鼠标指向常用工具栏的每个工具按钮,了解各个工具按钮的含义 3、命令窗口的打开和关闭 (1)查看窗口的打开和关闭 (2)在命令窗口中输入命令a=3;b=4;y=a*b+a/b,然后回车,查看命令显示结果 (3)利用MATLAB中编辑命令行事常用的按键功能,调出上一语句,对它进行修改(如把分号改成逗号,看运行结果),并把运行结果复制到word中保存。 >> a=3;b=4;y=a*b+a/b, y = 12.7500 >> a=3,b=4,y=a*b+a/b, a = 3 b = 4 y = 12.7500 (4)关闭命令窗口

(5)打开命令窗口 4、使用MATLAB帮助 熟悉MATLAB的帮助系统,通过帮助系统了解有关内容 5、在命令窗口中输入demo,将出现MA TLAB的演示窗,通过演示窗,对MATLAB的功能进一步的浏览。 三、试验环境 计算机MA TLAB软件 四、练习 1、调出MATLAB\stateflow的演示实例

2、计算y=x^3+(x-0.98)^2/(x+1.25)^3-5(x+1/x),x=2,x=3时的值 3、计算cos60?-√(9-√2) 4、已知a=3,A=4,b=a^2,B=b^2-1,c=a+A-2B,C=a+B+2c,求C

实验1 MATLAB 环境及命令窗口的使用(1)

实验一 MATLAB 环境及命令窗口的使用 一、实验目的: 1.掌握MA TLAB语言的特点 2.熟悉MA TLAB的工作环境 3.掌握MA TLAB的基本操作 二、实验内容和步骤: MATLAB语言有以下特点: (1)最基本的数据结构是矩阵,进行灵活方便的矩阵运算; (2)在工程计算和仿真中有着广泛的应用; (3)在数学语言与解释方面表现出人机交互的高度一致。 MATLAB是一上优秀的高技术算环境,主要表现在以下方面: (1)高质量高可靠的数值计算能力 (2)高级图形和可视化数据处理能力 (3)拥有一个强大的动态系统仿真建模工具箱 (4)支持科学和工程计算标准的开放式和可扩充 (5)跨平台兼容 (6)拥有功能强大专业化的实用工具 1.启动MATLAB MATLAB运行界面称为MATLAB操作界面(MATLAB Desktop),默认的操作界面如图1.1所示。

2.使用命令窗口 在命令窗口中可键入各种MATLAB的命令、函数和表达式,并显示除图形外的所有运算结果。 (1) 命令行的显示方式 ●命令窗口中的每个命令行前会出现提示符“>>”。 ●命令窗口内显示的字符和数值采用不同的颜色,在默认情况下,输入的命令、表达 式以及计算结果等采用黑色字体; ●字符串采用赭红色;“if”、“for”等关键词采用蓝色。 在命令窗口中输入不同的数值和语句,并查看其显示方式。 >> a=2012

a = 2012 >> b='Hello,World' b = Hello,World (2) 命令窗口中命令行的编辑 MATLAB命令窗口不仅可以对输入的命令进行编辑和运行,而且可以对已输入的命令进行回调、编辑和重运行。常用操作键如下表所示。 命令窗口中行编辑的常用操作键 键名作用键名作用 ↑向前调回已输入过的命令行Home 使光标移到当前行的开头 ↓向后调回已输入过的命令行End 使光标移到当前行的末尾 ←在当前行中左移光标Delete 删去光标右边的字符 →在当前行中右移光标Backspace 删去光标左边的字符 PageUp 向前翻阅当前窗口中的内容Esc 清除当前行的全部内容 Page Down 向后翻阅当前窗口中的内容CTRL+C 中断MATLAB命令的运行 (3) 命令窗口中的标点符号 MATLAB常用标点符号的功能 名称符号功能 空格用于输入变量之间的分隔符以及数组行元素之间的分隔符。 用于要显示计算结果的命令之间的分隔符;用于输入变量之间的逗号, 分隔符;用于数组行元素之间的分隔符。 点号. 用于数值中的小数点。 用于不显示计算结果命令行的结尾;用于不显示计算结果命令之分号; 间的分隔符;用于数组元素行之间的分隔符。 冒号: 用于生成一维数值数组,表示一维数组的全部元素或多维数组的

实验一 MATLAB环境及命令窗口的使用

实验一MATLAB环境及命令窗口的使用 一、实验目的和要求 1.熟练掌握MATLAB的启动和退出 2.熟悉MATLAB的命令窗口 3.熟悉常用选单和工具栏 4.熟悉MATLAB桌面及其他窗口 5.使用“帮助”查找帮助信息 二、实验器材 PC机一台,MATLAB6.5软件。 三、实验内容和步骤 学习使用MATLAB必须先熟悉MATLAB的桌面环境。MA TLAB的窗口包含命令窗口(Command Window)、历史命令窗口(Comand Histroy)、当前目录浏览器窗口(Current Directory Browser)、工作空间窗口(Workspace Browser)、帮助导航/浏览器窗口(Help Browser)、数组编辑器窗口(Array Editor)、交互界面分类目录窗口(Launch Pad)、M文件编辑/调试器窗口(Editor/Debugger)和程序性能剖析窗口(Profiler)。 1.启动MATLAB 双击桌面上MA TLAB6.5的图标,或通过Windows的“开始”按钮,在“程序”中选择“MATLAB6.5”命令来启动。启动后显示MATLAB6.5的集成化桌面。 2.使用命令窗口 在命令窗口输入以下命令并查看运行结果。 >>a=2.5 >>b=[1 2 ; 3 4] >>c=’a’ >>d=cos(a*b*pi/180) >>e=a+c (1)单独显示命令窗口

选择菜单“View”—“Undock Command Window”,则会出现单独的命令窗口。然后选择命令窗口的选单“View”—“Dock Command Window”,可是单独的窗口返回桌面。(2)使用标点符号修改命令行 ; 不显示结果>>a=2.5; % 用作注释>>b=[1 2 ; 3 4] %b为矩阵 ... 用于把后面的行与该行连接>>d=cos(a*b*pi/... 180) (3)数值显示格式的设置 使用MA TLAB的桌面选单“File”—“Preference”或“Format”命令,单击左栏的“Command Window”项,在右边的“Numeric Format”栏设置数据的显示格式,并查看各种格式下矩阵b的显示情况。 (4)通过常用操作键来编辑命令 上箭头:向前调回已输入过的命令行 下箭头:向后调回已输入过的命令行 Esc:清除当前行的全部内容 (5)用“clc”命令清空命令窗口中显示的内容 3.查看历史命令窗口 打开历史命令窗口,可看到每次打开MA TLAB的时间和在命令窗口输入过的命令。(1)在历史命令窗口复制某行或某几行命令粘贴到命令窗口。选中命令行,单击鼠标右键,选择“copy”,在命令窗口中,单击右键选择“paste”。 (2)在历史窗口运行某行或某几行命令。选中命令行,单击鼠标右键,选择“Evaluate Selection”,就可在命令窗口中运行,并查看相应结果。 (3)在历史命令窗口生成M文件。选中命令行,单击鼠标右键,选择“Creat M-File”,即出现写有这些命令的M文件编辑/调试器窗口,可将文件保存在用户目录中。 4.察看工作空间窗口 在工作空间窗口中可以看到a、b、c、d和e五个变量,还可单击命令窗口左下侧的“start”按钮—“DesktopTools”—“Workspace”选项,打开工作空间窗口。 练习:(1)使用“who”和“whos”命令查看变量内容; (2)使用“clear”命令删除变量a (>>clear a) (3)使用“exit”命令查看变量a、b、c、d和用户文件

实验一 MATLAB软件环境及基本操作

实验一 MATLAB 软件环境及基本操作 一、实验目的 熟悉MATLAB 软件的工作环境和练习MATLAB 命令窗口的基本操作 二、实验内容 1、命令窗口(Command Window )运行入门 (1)最简单的计算器使用法 【例1】求23)]47(212[÷-?+的算术运算结果。 (1)用键盘在MATLAB 命令窗口中命令提示符>>后输入以下内容: (12+2*(7-4))/3^2 (2)在上述表达式输入完成后,按【Enter 】键,该就命令被执行。 (3)在命令执行后,MATLAB 命令窗口中将显示以下结果: ans = 2 【例2】简单矩阵???? ??????=987654321A 的输入步骤。 (1)在键盘上输入下列内容 A = [1,2,3; 4,5,6; 7,8,9] (2)按【Enter 】键,命令被执行。 (3)在命令执行后,MATLAB 命令窗口中将显示以下结果: A = 1 2 3 4 5 6 7 8 9 【例3】矩阵的分行输入 A=[1,2,3 4,5,6 7,8,9] (以下是显示结果) A = 1 2 3 4 5 6 7 8 9 【例4】命令的续行输入(以下格式在除Notebook 外的MATLAB 环境中可运行) S = 1 – 1/2 + 1/3 –1/4 + 1/5 – 1/6 ... + 1/7 – 1/8 S = 0.6345 (2)复数和复数矩阵 【例1】复数i e z i z i z 63212,21,43π =+=+=表达,及计算3 21z z z z =。 (1)经典教科书的直角坐标表示法 z1= 3 + 4i z1 = 3.0000 + 4.0000i (2)采用运算符构成的直角坐标表示法和极坐标表示法 z2 = 1 + 2 * i %运算符构成的直角坐标表示法

实验一 MATLAB环境认识及基本操作

实验一 MATLAB环境认识及基本操作 一、实验目的 1.熟悉MATLAB的开发环境; 2.掌握MATLAB的一些常用命令; 3.掌握矩阵、变量、表达式的输入方法及各种基本运算。 4.掌握MATLAB 绘图的基本方法,熟悉各种绘图函数的使用; 5.掌握图形的修饰方法和标注方法; 6.了解MATLAB 中图形窗口的操作。 二、实验原理 1.熟悉MATLAB的开发环境: ①MATLAB的各种窗口: 命令窗口、命令历史窗口、启动平台窗口、工作空间窗口、当前路径窗口。 图1 MA TLAB界面窗口 ②路径的设置: 建立自己的文件夹,加入到MA TLAB路径中,并保存。 设置当前路径,以方便文件管理。 ③改变命令窗口数据的显示格式 >> format short

>> format long 然后键入特殊变量:pi (圆周率),比较显示结果。 2.掌握MATLAB 常用命令 >> who %列出工作空间中变量 >> whos %列出工作空间中变量,同时包括变量详细信息 >>save test %将工作空间中变量存储到test.mat 文件中 >>load test %从test.mat 文件中读取变量到工作空间中 >>clear %清除工作空间中变量 >>help 函数名 %对所选函数的功能、调用格式及相关函数给出说明 >>lookfor %查找具有某种功能的函数但却不知道该函数的准确名称 如: lookfor Lyapunov 可列出与Lyapunov 有关的所有函数。 3.阅读参考文献《MATLAB 用法简介》,了解系统内部变量,矩阵、变量、表达式的输入方法及各种基本运算,以及掌握MATLAB 绘图的基本方法。 三. 实验内容 1. 在MATLAB 的命令窗口计算: 1) )2sin(π 2) 5.4)4.05589(÷?+ 2. 设计M 文件计算: 已知 求出: 1) a+b a-b a+b*5 a-b+I (单位阵) 2) a*b a.*b a/b 3) a^2 a.^2 注意:点运算 . 的功能,比较结果。 3. 设计M 文件计算: x=0:0.1:10 ??????????=987654321a ???? ??????=300120101b )2(10002i i i x x sum -=∑=

Matlab使用方法和程序设计解析

实验一Matlab使用方法和程序设计 一、实验目的: 1、掌握Matlab软件使用的基本方法 2、熟悉Matlab的基本运算和程序控制语句 3、熟悉Matlab程序设计和基本方法 二、实验内容: 1、求多项式的根:p(x=x^4+2x^3+3x^2+5x+4 源程序: a=[12354]; b=roots(a 运行结果: 分析:

调用roots(a,求多项式的根 2、已知f=a^4*(b^2-c^2+b^4*(c^2-a^2+c^4*(a^2-b^2,试用符号运算的方法对其因式分解 源程序: syms a b c; f=a^4*(b^2-c^2+b^4*(c^2-a^2+c^4*(a^2-b^2; R=factor(f 运行结果: 分析: 调用factor(s对多项式进行因式分解 3、编写一个函数,完成求和:S=1+3+5+,,,,,,+2i+1 源程序: sum=0;

for i=1:2:1000; sum=sum+i; end sum 运行结果: 分析: 调用for循环完成求和,起始值为1,步长为2,终止值为1000 4、已知一传递函数。F(s=,试将其分解部分分式 源程序: num=[12]; den=[154]; [res,poles,k]=residue(num,den 运行结果:

分析: 调用residue(num,den进行分解部分分式,num为传递函数的分子,den为传递函数的分母。 三、实验总结: 本次实验使我掌握了Matlab软件使用的基本方法,熟悉了Matlab的基本运算和程序控制语句,熟悉Matlab程序设计和基本方法,让我将理论与实践相结合增强了自我动手能力,为以后的工作打下一定的基础。 实验二Matlab使用方法和程序设计 一、实验目的: 1、掌握如何使用MATLAB进行系统时域分析

MATLAB基本使用方法

MATLAB基本的使用方法 1.读取图像:用imread函数读取图像文件,文件格式可以是TIFF、JPEG、GIF、BMP、PNG等。比如 >>f=imread('chestxray.jpg'); 读进来的图像数据被保存在变量f中。尾部的分号用来抑制输出。如果图片是彩色的,可以用rgb2gray转换成灰度图: >>f=rgb2gray(f); 然后可以用size函数看图像的大小 >>size(f) 如果f是灰度图像,则可以用下面的命令把这个图像的大小赋给变量M和N >>[M,N]=size(f); 用whos命令查看变量的属性 >>whos f 2.显示图像:用imshow显示图像 imshow(f,G) 其中f是图像矩阵,G是像素的灰度级,G可以省略。比如 >>imshow(f,[100200]) 图像上所有小于等于100的数值都会显示成黑色,所有大于等于200的数值都会显示成白色。pixval命令可以用来查看图像上光标所指位置的像素值。 pixval 例如 >>f=imread('rose_512.tif');>>whos f>>imshow(f) 如果要同时显示两幅图像,可以用figure命令,比如 >>figure,imshow(g) 用逗号可以分割一行中的多个命令。imshow的第二个参数用一个空的中括号: >>imshow(h,[])可以使动态范围比较窄的图像显示更清楚。 3.写图像。用imwrite写图像 imwrite(f,'filename') 文件名必须包括指明格式的扩展名。也可以增加第三个参数,显式指明文件的格式。比如>>imwrite(f,'patient10_run1.tif','tif')

实验一-MATLAB-软件环境及基本操作

3、掌握数值数组(矩阵)的算术运算、逻辑运算和关系运算的方法。 2、掌握1、熟悉 一、实验目的 MATLAB 软件的工作环境和练习MATLAB 命令窗口的基本操作 二、实验内容 1、命令窗口(Command Window )运行入门 (1)最简单的计算器使用法 【例1】求的算术运算结果。 2 3)]47(212[÷?×+(1)用键盘在MATLAB 命令窗口中命令提示符>>后输入以下内容: (12+2*(7-4))/3^2 (2)在上述表达式输入完成后,按【Enter 】键,该就命令被执行。 (3)在命令执行后,MATLAB 命令窗口中将显示以下结果: ans = 2 【例2】简单矩阵的输入步骤。 ???? ??????=987654321A (1)在键盘上输入下列内容 A = [1,2,3; 4,5,6; 7,8,9] (2)按【Enter 】键,命令被执行。 (3)在命令执行后,MATLAB 命令窗口中将显示以下结果: A = 1 2 3 4 5 6 7 8 9 【例3】矩阵的分行输入 A=[1,2,3 4,5,6 7,8,9] (以下是显示结果) A = 1 2 3 4 5 6 7 8 9 【例4】命令的续行输入(以下格式在除Notebook 外的MATLAB 环境中可运行) S = 1 – 1/2 + 1/3 –1/4 + 1/5 – 1/6 ... + 1/7 – 1/8 S = 0.6345 (2)复数和复数矩阵 【例1】复数i e z i z i z 63212,21,43π =+=+=表达,及计算3 2 1z z z z =。 (1)经典教科书的直角坐标表示法 z1= 3 + 4i z1 = 3.0000 + 4.0000i 实验一 MATLAB 软件环境及基本操作 MATLAB 软件环境下进行数值数组(矩阵)的创建、访问的基本方法

MATLAB的使用方法

https://www.doczj.com/doc/f4813278.html,/irp/uploadfile/netclass/CONTROL/application/ Matlab%E7%9A%84%E4%BD%BF%E7%94%A8.html 在本教程的制作中,主要是应用MATLAB的仿真功能对各例题的结果进行仿真,观察所设计的控制系统的 输出、误差等。 MATLAB本身自带了很多的模型,这次所应用到的有以下一些: 以上模型的参数都可以改变。比如线性传递函数的描述方法是:将线性传递函数的分子和分母分别按s的降幂 排列,然后将各项的系速以矩阵的形式描述。例如,线性传递函数 10/s(s+1)的描述方法为:分子 (Numerator)----[10]、分母(Denominator)----[1 1 0]。 以下以例一中在单位加速度输入时的仿真为例说明MATLAB的使用方法。 步骤如下: 1.进入 MATLAB命令窗口(Command Window)后,单击工具栏中的New Simulink Mode l图标,进入仿 真(Simulink)窗口。

2.从同时打开的Library窗口中选取组成框图所需的部件:零阶保持器、离散传递函数、线性传递函数、 示波器、比较器。由于MATLAB没有提供加速度输入的模型,因此,要由速度输入和积分器组合而成。根据题 目给出的条件和计算得出的控制器模型调整各环节的参数,设置如下: Ramp----Slope:1 Start time:0 initial output:0; Sum----List of signs:+-; Discrete Transfer Fcn---- Numerator: [0.8154 -1.11538566 0.57178566 -0.09999522] Denominator: [1 -1.282 -0.436 0.718] Sample time:1; Zero-Order Hold---- Sample time:1; Transfer Fcn---- Numerator:[10] Denominator:[1 10]。合成后的框图如下 如果觉得各模型下的英文说明难以说明问题的话,还可以把它们改成中文,或隐藏,也可以在任一地方添加 注释。 3.图上共设置了三个示波器,分别观察系统的输入、输出合误差。要观察这些信号,就要进行仿真,选 择菜单项Simulation->Start以开始仿真,听到扬声器发出“嘀”的一声,表示仿真结束,这时可以双击示 波器来观察仿真结果。如果所现示的信号图不理想,还可以通过调整图的属性来达到很好的效果。单击属性 按钮,便可设置y-轴的最大值(y-max)、最小值(y-min)、时间跨度 (time-range)等参数,还可以将数据送 给工作区(Save data to workspace),为以后画多条曲线的合成图作准备。调整参数后的系统误差如下图所 示(其他信号略)

实验1熟悉matlab环境和基本操作

实验 1 熟悉Matlb 环境及基本操作 实验目的: 1.熟悉Matlab 环境,掌握Matlab 的主要窗口及功能; 2.学会Matlab 的帮助使用; 3.掌握向量、矩阵的定义、生成方法和基本运算; 4.掌握Matlab 的基本符号运算; 5.掌握Matlab 中的二维图形的绘制和控制。 实验内容: 1.启动Matlab ,说明主窗口、命令窗口、当前目录窗口、工作空间窗口、历史窗口、图形窗口、M文件编辑器窗口的功能。 2.实例操作Matlab 的帮助使用。 3.实例操作向量、矩阵的定义、生成方法和基本运算。 4.实例操作Matlab 的基本符号运算。 5.实例操作Matlab 中的二维图形绘制和控制。 实验仪器与软件: 1 . CPU主频在2GHz以上,内存在512Mb以上的PC; 2.Matlab 7 及以上版本。 实验讲评: 实验成绩: 评阅教师: 年月日

实验1熟悉Matlab 环境及基本操作 一、Matlab环境及主要窗口的功能 运行Matlab安装目录下的matlab.exe文件可启动Matlab环境,其默认布局 如下图: 其中, 1 ?主窗口的功能是:主窗口不能进行任何计算任务操作,只用来进行一些整体的环境参数设置,它主要对6个下拉菜单的各项和10个按钮逐一解脱。 2. 命令窗口的功能是:对MATLAB搜索路径中的每一个M文件的注释区的第一行进行扫描,一旦发现此行中含有所查询的字符串,则将该函数名及第一行注释全部显示在屏幕上。 3. 历史窗口的功能是:历史窗口显示命令窗口中的所有执行过的命令, 方面可以查看曾经执行过的命令,另一方面也可以重复利用原来输入的命令行,可以从命令窗口中直接通过双击某个命令行来执行该命令,

MATLAB 语言的基本使用方法

实验一 MATLAB 语言的基本使用方法 1. 实验目的 1) 了解MATLAB 程序设计语言的基本特点,熟悉MATLAB 软件运行环境。 2) 掌握创建、保存、打开文件及数据的方法,掌握设置文件路径的方法。 3) 掌握变量、函数等有关概念,具备初步的将一般数学问题转化为对应计算机模型并进行处理的能力。 2. MATLAB 基础知识 2.1 MATLAB 程序设计语言简介 MATLAB ,Matrix Laboratory 的缩写,是由MathWorks 公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。 与大家常用的Fortran 和C 等高级语言相比,MATLAB 的语法规则更简单,更贴近人的思维方式,被称之为“草稿纸式的语言”。 MATLAB 软件主要由主包、仿真系统(simulink )和工具箱(toolbox )三大部分组成。 2.2. MATLAB 界面简介 下面我们主要对MATLAB 基本界面进行介绍。如图 1-1所示,命令窗口包含标题栏、菜单栏、工具栏、命令行区、状态栏、垂直和水平波动条等 区域。 标题栏菜单栏工具栏命令行区状态栏垂直和水平滚 动条 图 1-1 MATLAB 基本界面——命令窗口 1) 菜单栏 菜单栏中包括File 、Edit 、View 、Web 、Window 和Help 六个菜单项。这里着重介绍File 项。 File 项是数据输入/输出的接口, 包括10个子项, 这里重点介绍其中的5个子项: New: 新建文件项。 有四个选择: M File(.M ,文本格式的MATLAB 程序文件, 可以直接通过文件名的方式在MATLAB 环境下解释运行); Figure(图形);

实验一matlab的开发环境与基本运算

实验一 matlab 的开发环境与基本运算 一、实验学时 4学时(课内2学时,课外2学时) 二、实验类型 验证性实验 三、实验目的 1、熟悉matlab 的开发环境 2、掌握矩阵、变量、表达式的各种运算 四、所需设备及软件 1、安装了windows xp/win7/win8/win10的计算机 2、matlab 开发工具 五、实验基本原理 1、熟悉MATLAB 环境: MATLAB 桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器。 2、掌握MATLAB 常用命令 表1 MATLAB 常用命令 31)变量命名规则 2)MATLAB 的各种常用运算符 表2 MATLAB 算术运算符 表3 MATLAB 关系运算符 表4 MATLAB 逻辑运算符 表5 MATLAB 特殊运算

4、MATLAB 的一维、二维数组的寻访(约定大写字母为矩阵) 表6 子数组访问与赋值常用的相关指令格式 指令 含义 指令 含义 A=a 把标量a 赋值给A 的每个元素 a+A 标量a 分别与A 元素之和 a-A 标量a 分别与A 元素之差 a.*A 标量a 分别与A 元素之积 a *A 标量a 分别与A 每个元素之积 A.^n A 的每个元素自乘n 次 A ^n A 为方阵,自乘n 次 A.*B 对应元素相乘 A*B 内维相同,矩阵相乘 指令 含义 指令 含义 Exp(A) 以自然数e 为底,分别以A 的元素为指数,求幂 log(A) 对A 的各元素求对数 Sqrt(A) 对A 的各元素求平方根 Diag(A ) A 矩阵的对角线元素 Rank 矩阵的秩 Det 方阵的行列式值 Ones 产生全1的数组或矩阵 Zeros 产生全0的数组或矩阵 Rand 产生均匀分布的随机数组或矩阵 Randn 产生正态分布的随机数组 Size 返回指定矩阵的行数和列数 Rot90 矩阵逆时针旋转90度 Factor 因式分解 Expand 展开表达式 六、实验内容 1、建立一个以学号命名的文件夹;将该文件夹添加到matlab 的路径管理器中 2、启动matlab ,熟悉 命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器 3、学习使用help 命令 4、使用窗口命令:clc 、close 、close all 、clear ,了解其功能和作用,观察各个窗口[command window 、command history 、workspace]的变化结果。要求用文字说明。 5、练习“五”中各运算符、函数的应用。注意观察运算结果。在实验报告中必须完成以下内容。 (1)矩阵运算 12344347873657A -????=??????,131203327B -?? ??=?? ??-?? 求下列表达式的值:

Matlab主要函数使用方法

Matlab主要函数使用方法 ndims(A)用ndims命令常看矩阵的维数 1. matlab中mod的用法 简单的说mod(a,b)就是求的是a除以b的余数。比方说mod(100,3)=1,mod(17,6)=5 Examples mod(13,5) ans = 3 mod([1:5],3) ans = 1 2 0 1 2 mod(magic(3),3) ans = 2 1 0 0 2 1 1 0 2 2. 关于Matlab中size()的问题 size按照下面的形式使用: [m,n]=size(a,x)。一般的,函数的输入参量x不是用,这是当只有一个输出变量时,size返回一个行向量,第一个数为行数,第二个数为列数;如果有两个输出变量,第一个返回量为行数,第二个返回数为列数。当使用x时,x=1返回行数,x=2返回列数,这时只有一个返回值。 我要问的是: I=im2double(imread(file)) ;//把图像数组转换成double精度类型; if(size(I,3) > 1) I = rgb2gray( I ) ;

end 中size(I,3) 代表什么意思?按照上面的说法X=1,2都可以理解。 I 代表的是图像数组阿,不是二维的么?那么size(I,3) 中的3 代表什么? 一个函数可以是多维的..比如说是一个10*10*10*10的距阵 那就是说这个距阵是4维的.. 那个'()'里的3就是指的第三维 3.r = corr2(A,B) 计算两个矩阵的二维相关系数. 4.matlab中imshow显示问题 各位好,将一幅灰度图像经过小波变换后,数据变成double型,对变换后的图像进行显示时,设变换后的图像为y,为何用imshow(uint8(y))和imshow(y,[])时的图像显示结果不同呢?请问该如何正确显示变换后的图像呢?着急解决,请各位xdjm帮帮忙吧! 回答: imshow(uint8(y))是按照256级灰度显示y得绝对数据。0表示0,255表示255,大于255得都是255。imshow(y,[]),将y得最小值看作0,最大值看作255。 所以两者不同。 小波变换得图像应该用第二种显示,把数据scale一下。 5.matlab中用imshow显示图像由于数组类型产生的错误 今天在用MATLAB写程序的时候遇到个问题,以前一直没有注意到,刚才检查的时候才发现。 我们先来看段不复杂的程序 %定义常量 size=256; block=8; I_w=zeros(size); %读入原始图像和水印图像并显示 I=imread('lena.bmp'); W=imread('watermark.bmp');

实验1_熟悉matlab环境及基本操作

实验1 Matlb工具熟悉 实验目的: 1.熟悉Matlab环境,掌握Matlab的主要窗口及功能; 2.学会Matlab的帮助使用; 3.掌握向量、矩阵的定义、生成方法和基本运算; 4.掌握Matlab的基本符号运算; 5.掌握Matlab中的二维图形的绘制和控制。 实验内容: 1.启动Matlab,说明主窗口、命令窗口、当前目录窗口、工作空间窗口、历史窗口、图形窗口、M文件编辑器窗口的功能。 2.实例操作Matlab的帮助使用。 3.实例操作向量、矩阵的定义、生成方法和基本运算。 4.实例操作Matlab的基本符号运算。 5.实例操作Matlab中的二维图形绘制和控制。 实验仪器与软件: 1.CPU主频在2GHz以上,内存在512Mb以上的PC; 2.Matlab 7及以上版本。 一、Matlab环境及主要窗口的功能 运行Matlab安装目录下的matlab.exe文件可启动Matlab环境,其默认布局如下图:

其中, 1.主窗口的功能是:主窗口不能进行任何计算任务操作,只用来进行一些整体的环境参数设置,它主要对6个下拉菜单的各项和10个按钮逐一解脱。 2.命令窗口的功能是:对MATLAB搜索路径中的每一个M文件的注释区的第一行进行扫描,一旦发现此行中含有所查询的字符串,则将该函数名及第一行注释全部显示在屏幕上。 3. 历史窗口的功能是:历史窗口显示命令窗口中的所有执行过的命令,一方面可以查看曾经执行过的命令,另一方面也可以重复利用原来输入的命令行,可以从命令窗口中直接通过双击某个命令行来执行该命令, 4.当前目录窗口的功能是:显示当前目录下所有文件的文件名、文件类型、和最后修改的时间,同时还提供搜索功能,在该窗口下,可以改变当前目录 5.M文件编辑器窗口的功能是:MATLAN提供了一个内置既有编辑和调试功能好的程序编辑器;编辑器窗口也有菜单和工具栏,是编辑和调试程序非常方便 6..发行说明窗口功能是:该窗口显示MATLAB总包和已安装的工具箱的帮助、演示、GUI工具和产品主页等4个内容。 7.工作空间窗口的功能是:该窗口显示所有目前内存中MATLAB变量的变量名、数字结构、字节数以及类型,不同的变量类型分别对应不同的变量名图标 8.图形窗口的功能是:利用图形窗口和工具栏中的选项,可以对图形进行线性、颜色、标记三维视图、光照和坐标轴等的设置 9.GUI(Graphacal User Interface)窗口功能是: 二、Matlab的帮助使用 Matlab提供的联机帮助系统使用户在没有任何资料的情况下就能掌握它的使用和基本操作,作为Matlab的用户应熟练掌握其联机帮助系统的使用,下面是Matlab联机帮助系统的使用方法。

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