matlab使用介绍 下载本文

>> xa= x<=a

xa=

0 0 0 0 1 1 1 1 1

>> b=[0 1 0; 1 0 1; 0 0 1]; >> ab=a&b ab=

0 1 0 1 0 1 0 0 1 (3)线性代数的常用函数

a' 求矩阵a的转置 det(a) 求矩阵a的行列式 eig(a) 求矩阵a的特征值 inv(a)或a ^ (-1) 求矩阵a的逆矩阵 rank(a) 求矩阵a的秩

trace(a) 求矩阵a的迹(对角线元素之和) rref(a) 求矩阵a的行最简形

null(A,?r?) 求系数矩阵为A的齐次方程的基础解系 pinv(A)*b 求非齐次方程的特解

例如: >> a=[2 1 –3 –1; 3 1 0 7; -1 2 4 –2; 1 0 –1 5];

>> a1=det(a); >> a2=det(inv(a)); >> a1*a2 ans= 1

6.2.4 Matlab在微积分中的应用

1.极限运算

格式:limit (f, t, a, ?left? or ?right?)

功能:求符号变量t 趋近a 时,函数f 的(左或右)极限.?left? 表示求左极限,?right? 表示求右极限,省略时表示求一般极限;a省略时变量t 趋近0; t

省略时默认变量为x ,若无x则寻找(字母表上)最接近字母x 的变量.在求解之前应先申明自变量,也就是要先定义符号变量.

2t??例如:求极限lim?1??x??x??3x的命令及结果为:

>> syms x t %定义符号变量

>> limit ((1+2*t/x)^(3*x) , x, inf ) % inf为无穷大 ans=

exp(6*t)

再如求函数x / |x| ,当x?0时的左极限和右极限,命令及结果为: >> syms x

>> limit(x/abs(x), x, 0, ?left?) ans = -1 >> limit(x/abs(x),x, 0, ?right?) ans = 1 2.导数

格式: diff (f,t,n)

功能: 求函数f 对变量 t的n 阶导数.当n省略时,默认 n=1;当t省略时,默认变量x, 若无x时则查找字母表上最接近字母x 的字母.

例如:求函数f=a*x^2+b*x+c对变量 x的一阶导数, 命令及结果为

>> syms a b c x >> f=a*x^2+b*x+c; >> diff(f) ans=

2*a*x+b

求函数f 对变量b的一阶导数(可看作求偏导), 命令及结果为 >> diff(f,b)

ans=x

求函数f 对变量x的二阶导数, 命令及结果为

>> diff(f,2)

ans=2*a

3.积分 格式: int(f,t,a,b)

功能: 求函数f 对变量 t从a 到b的定积分. 当a和b省略时求不定积分;当t省略时, 默认变量为(字母表上)最接近字母x的变量.

例如:求函数f=a*x^2+b*x+c对变量x不定积分, 命令及结果为

>> syms a b c x

>> f=a*x^2+b*x+c; >> int(f) ans=

1/3*a*x^3+1/2*b*x^2+c*x

求函数f 对变量b不定积分, 命令及结果为 >> int(f,b)

ans=

a*x^2*b+1/2*b^2*x+c*b

求函数f 对变量x 从 1到5的定积分, 命令及结果为

>> int(f,1,5) ans=

124/3*a+12*b+4*c

4.求极值

格式: fminbnd(f,x1,x2)

功能:求函数f在区间[x1,x2]上的极小值.

例如: 求函数f?x??x3e?x在[]-10,10]上的极大值,命令及结果为: >> f=?-x.3^.*exp(-x)?; %fminbnd要求函数加引号 >>fminbnd(f,-10,10) %求极限值 ans= 3.000 5. 化简和代换

MATLAB符号运算工具箱中,包括了较多的代数式化简和代换功能,下面仅举出部分常见运算.

simplify 利用各种恒等式化简代数式 expand 将乘积展开为和式 factor 把多项式转换为乘积形式 collect 合并同类项

horner 把多项式转换为嵌套表示形式

例如:进行合并同类项执行 >> syms x

>> collect(3*x^3-0.5*x^3+3*x^2) ans=

5/2*x^3+3*x^2)

进行因式分解执行

>> factor(3*x^3-0.5*x^3+3*x^2) ans=

1/2*x^2*(5*x+6)

6.解方程 (1)代数方程 格式:solve (f,t)

功能:对变量t 解方程f=0,t 缺省时默认为x 或最接近字母x 的符号变量. 例如:求解一元二次方程f=a*x^2+b*x+c的实根,

>> syms a b c x >> f=a*x^2+b*x+c; >> solve (f,x) ans=

[1/2/a*(-b+(b^2-4*a*c)^ (1/2))]

[1/2/a*(-b-(b^2-4*a*c)^ (1/2))] (2)微分方程

格式:dsolve(?s?, ?s1?, ?s2?,…, ?x?)

其中s为方程;s1,s2,……为初始条件,缺省时给出含任意常数c1,c2,……的通解;x为自变量,缺省时默认为t . 例如:求微分方程y??1?y2的通解 >> dsolve(?Dy=1+y^2?) ans= tan(t+c1)