创造变量
基本符号运算
- x=sym(‘x’) 创建一个符号变量
- syms x y z 创建多个符号变量 x y z
- r=collec(S,v) 合并同类项,S是符号表达式,v是变量或表达式
合并同幂项
EXPR=sym(‘(x^2+xexp(-t)+1)(x+exp(-t))’);
expr1=collect(EXPR)
expr2=collect(EXPR,‘exp(-t)’)
注解:
- 这里会报出警告,但不影响程序的运行
- exp(-t)的意思就是e的-t次方
因式分解
factor(S) 符号计算的因式分解,S是待分解的符号多项式
- 除了x外不含其他自由变量的情况
sym a x;
f1=x4-5*x3+5x^2+5x-6;
factor(f1)
- 含其他自由变量的情况之一
f2-x2-a2;
factor(f2)
- 对正整数的质数分解
factor(1025)
展开
expand(S) 对符号多项式或函数S进行展开
例如:
syms x y;
expand((x+1)^3)
expand(sin(x+y))
对符号表达式进行化简
r=simple(S) 或 r=simplify(S) 对符号表达式S进行化简
- 运用simplify简化
syms x;
f=(1/x3+6/x2+12/x+8)^(1/3);
sfy1=simplify(f), sfy1=simplify(sfy1)
- 运用simple简化(更加简化一些)
g1=simple(f), g2=simple(g1)
simplify和simple是Matlab符号数学工具箱提供的两个du简化函数,区别如下:
simplify的调zhi用格式为:simplify(S);对表达式S进行化简。
simple是通过对dao表达式尝试多种不同的方法(包括simplify)进行化简,以寻求符号表达式S的最简形式。
调用方式为:
[r,how]=simple(S);r为返回的简化形式,how为化简过程中使用的一种方法。how有以下几种形式:
(1)simplify 函数对表达式进行化简;
(2)radsimp函数对含根式的表达式进行化简;
(3)combine 函数将表达式中以求和、乘积、幂运算等形式出现的项进行合并;
(4)collet合并同类项
(5)factor函数实现因式分解
(6)convert函数完成表达式形式的转换
simplify可以设置参数,这里可以直接help simplify来查看相关参数,simple函数似乎已经在新版本中被剔除
极限的运算
注意:在左右极限不相等或左右极限有一个不存在时,MATLAB的默认状态是求右极限。
例题1
syms x;
y1=(1+4*x)^(1/x);
y2=(exp(x)-1) /x;
limit(y1,x,0)
limit(y2,x,0)
syms x;
y=sqrt(x)-2^(-1/x);
limit(y,x,0, ‘right’)
求导
**一元函数的求导 ** diff(f)
**对n求导 ** diff(f,n)
syms x;
f=3x^3+5x+1;
diff(f,2)
syms x;
y=3x^3-2x+1;
B=diff(y),x=1;
eval(B)
ps:eval函数的功能是将字符串转换为matlab可执行语句。通俗而言,比如
你输入
a=’b=1’;
会在workspace里看见生成了变量a,a的类型是字符串,字符串的内容是b=1
然后你输入eval(a)
就会看见变量里生成了变量b,b是一个1乘1的double型矩阵,元素的值为1
也就是说,执行eval(a)相当于执行a的内容,相当于执行b=1
多元函数的偏导数
diff(f,xi) diff(f,xi,n)
syms x y;
z=x^2sin(2y);
B=diff(z,x)
积分运算
一元函数的不定积分
int(f)
👆求函数f对默认变量的不定积分,用于函数只有一个变量的情况
int(f,v)
👆求符号函数f对变量v的不定积分
例:
sysms x;
y=1/(sin(x)2*cos(x)2);
int(y)
pretty(int(y))
#解释pretty:
pretty数学公式美化
syms x z;
B=int(x/(1+z^2),z)
一元函数的定积分
int(f,x,a,b)
用微积分基本公式计算定积分
syms x;
y=(x2+sin(x)/(1+x2));
int(y,x,-1,1)
syms x;
y=x2/(1+x2);
int(y,x,-1,1)
多重积分运算
int(int(f,y),x)
计算不定积分
int(int(f,y,c,d),x,a,b)
计算不定积分
例:
syms x,y
int(int((x2+y2+1),x,x+1),y,0,1)#错误代码
#这里注意y在里面,x在外面
int(int(x2+y2+1,y,x,x+1),x,0,1)
数值微分与数值积分
数值微分
数值微分是用离散的方法近似地计算函数y=f(x)在某点x=a处的导数值,通常仅当函数以离散数值形式给出时才有这种必要。
diff(x)
用数值方法计算定积分
**(1)复合梯形公式 trapz(x,y) **
(2)复合辛普生公式 quad(‘fun’,a,b,tol,trace)
(3)用数值方法计算二重积分 dblquad(‘fun’,xmin,xmax,ymin,ymax)
线性方程和非线性方程在MATLAB中的各种求解方法
ff=sym(‘p*sin(x)=r’)
solve(ff,‘x’)