- 在线时间
- 326 小时
- 最后登录
- 2019-9-18
- 注册时间
- 2014-8-5
- 听众数
- 36
- 收听数
- 9
- 能力
- 0 分
- 体力
- 4485 点
- 威望
- 0 点
- 阅读权限
- 60
- 积分
- 1854
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 996
- 主题
- 413
- 精华
- 0
- 分享
- 3
- 好友
- 98
升级   85.4% TA的每日心情 | 开心 2019-9-18 21:55 |
---|
签到天数: 258 天 [LV.8]以坛为家I
 群组: 2015国赛冲刺 群组: 2016美赛公益课程 群组: 国赛讨论 群组: 第三届数模基础实训 群组: Matlab讨论组 |
3.2 微积分
命令1 极限
函数 limit
格式 limit(F,x,a) %计算符号表达式F=F(x)的极限值,当x→a时。
limit(F,a) %用命令findsym(F)确定F中的自变量,设为变量x,再计算F的极限值,当x→a时。
limit(F) %用命令findsym(F)确定F中的自变量,设为变量x,再计算F的极限值,当x→0时。
limit(F,x,a,'right')或limit(F,x,a,'left') %计算符号函数F的单侧极限:左极限x→a- 或右极限x→a+。
例3-25
>>syms x a t h n;
>>L1 = limit((cos(x)-1)/x)
>>L2 = limit(1/x^2,x,0,'right')
>>L3 = limit(1/x,x,0,'left')
>>L4 = limit((log(x+h)-log(x))/h,h,0)
>>v = [(1+a/x)^x, exp(-x)];
>>L5 = limit(v,x,inf,'left')
>>L6 = limit((1+2/n)^(3*n),n,inf)
计算结果为:
L1 =
0
L2 =
inf
L3 =
-inf
L4 =
1/x
L5 =
[ exp(a), 0]
L6 =
exp(6)
命令2 导数(包括偏导数)
函数 diff
格式 diff(S,'v')、diff(S,sym('v')) %对表达式S中指定符号变量v计算S的1阶导数。
diff(S) %对表达式S中的符号变量v计算S的1阶导数,其中v=findsym(S)。
diff(S,n) %对表达式S中的符号变量v计算S的n阶导数,其中v=findsym(S)。
diff(S,'v',n) %对表达式S中指定的符号变量v计算S的n阶导数。
例3-26
>>syms x y t
>>D1 = diff(sin(x^2)*y^2,2) %计算
>>D2 = diff(D1,y) %计算
>>D3 = diff(t^6,6)
计算结果为:
D1 =
-4*sin(x^2)*x^2*y^2+2*cos(x^2)*y^2
D2 =
-8*sin(x^2)*x^2*y+4*cos(x^2)*y
D3 =
720
命令3 符号函数的积分
函数 int
格式 R = int(S,v) %对符号表达式S中指定的符号变量v计算不定积分。
注意的是,表达式R只是函数S的一个原函数,后面没有带任意常数C。
R = int(S) %对符号表达式S中的符号变量v计算不定积分,其中v=findsym(S)。
R = int(S,v,a,b) %对表达式s中指定的符号变量v计算从a到b的定积分
R = int(S,a,b) %对符号表达式s中的符号变量v计算从a到b的定积分,其中v=findsym(S)。
例3-27
>>syms x z t alpha
>>INT1 = int(-2*x/(1+x^3)^2)
>>INT2 = int(x/(1+z^2),z)
>>INT3 = int(INT2,x)
>>INT4 = int(x*log(1+x),0,1)
>>INT5 = int(2*x, sin(t), 1)
>>INT6 = int([exp(t),exp(alpha*t)])
计算结果为:
INT1 =
-2/9/(x+1)+2/9*log(x+1)-1/9*log(x^2-x+1)-2/9*3^(1/2)*atan(1/3*(2*x-1)*
… 3^(1/2))-2/9*(2*x-1)/(x^2-x+1)
INT2 =
x*atan(z)
INT3 =
1/2*x^2*atan(z)
INT4 =
1/4
INT5 =
1-sin(t)^2
INT6 =
[ exp(t), 1/alpha*exp(alpha*t)]
命令4 常微分方程的符号解
函数 dsolve
格式 r = dsolve('eq1,eq2,…','cond1,cond2,…','v')
说明 对给定的常微分方程(组)eq1,eq2,…中指定的符号自变量v,与给定的
边界条件和初始条件cond1,cond2,….求符号解(即解析解)r;若没有指定变量v,
则缺省变量为t;在微分方程(组)的表达式eq中,大写字母D表示对自变量(设为x)的
微分算子:D=d/dx,D2=d2/dx2,…。微分算子D后面的字母则表示为因变量,
即待求解的未知函数。初始和边界条件由字符串表示:y(a)=b,Dy(c)=d,D2y(e)=f,
等等,分别表示 , , ;若边界条件少于方程(组)的阶数,则返回的结果r中会
出现任意常数C1,C2,…;
dsolve命令最多可以接受12个输入参量(包括方程组
与定解条件个数,当然我们可以做到输入的方程个数多于12个,只要将多个方程
置于一字符串内即可)。若没有给定输出参量,则在命令窗口显示解列表。
若该命令找不到解析解,则返回一警告信息,同时返回一空的sym对象。
这时,用户可以用命令ode23或ode45求解方程组的数值解。
例3-28
>>D1 = dsolve('D2y – Dy =exp(x)')
>>D2 = dsolve('t*D2f = Df*log((Dy)/t)')
>>D3 = dsolve('(Dy)^2 + y^2 = 1','s')
>>D4 = dsolve('Dy = a*y', 'y(0) = b') % 带一个定解条件
>>D5 = dsolve('D2y = -a^2*y', 'y(0) = 1', 'Dy(pi/a) = 0') % 带两个定解条件
>>[x,y] = dsolve('Dx = y', 'Dy = -x') % 求解线性微分方程组
>>[u,v] = dsolve(‘Du=u+v,Dv=u-v’)
计算结果为:
D1 =
-exp(x)*t+C1+C2*exp(t)
D2 =
y(t)=Int(exp(t*diff(f(t),`$`(t,2))/diff(f(t),t))*t,t)+C1
D3 =
[ -1]
[ 1]
[ sin(s-C1)]
[ -sin(s-C1)]
D4 =
b*exp(a*t)
D5 =
cos(a*t)
x =
cos(t)*C1+sin(t)*C2
y =
-sin(t)*C1+cos(t)*C2
u =
1/2*C1*exp(2^(1/2)*t) - 1/4*C1*2^(1/2)*exp(-2^(1/2)*t) + 1/4*C1*2^(1/2) *exp (2^(1/2)*t) + 1/2*C1*exp(-2^(1/2)*t) - 1/4*C2*2^(1/2)*exp(-2^(1/2)*t) + 1/4*C2 *2^(1/2)*exp(2^(1/2)*t)
v =
-1/4*C1*2^(1/2)*exp(-2^(1/2)*t)+1/4*C1*2^(1/2)*exp(2^(1/2)*t)+1/2*C2*exp
(2^(1/2)*t)+1/4*C2*2^(1/2)*exp(-2^(1/2)*t)-1/4*C2*2^(1/2)*exp(2^(1/2)*t)+ 1/2*C2*exp(-2^(1/2)*t)
|
zan
|