[matlab]基础与应用笔记4


极限计算:

>> syms x

>> y = f(x) % y表达式

>> limit(y,x,a)  % 求函数f当x -> a时极限

      limit(f,a) %求f中自变量(默认x)趋于a时极限

      limit(f) %求f中自变量趋于0时极限

      limit(f,x,a,'left')  %求f当 x-> a 时左极限

      limit(f,x,a 'right') %求f当x->a 时右极限

      limit(f,x,inf)           %求f当x->∞时极限


导数计算:

>>syms x

>>y =f(x)

>>diff(y,x,n)  %求函数y的n阶导数

diff(y)  表示 diff(y,x,1)默认值

若想数学表达式好看,可用pretty(ans)


>> syms x
>> y  = x*sin(2*x) - exp(3*x);
>> diff(y)
 
ans =
 
sin(2*x) - 3*exp(3*x) + 2*x*cos(2*x)
 
>> pretty(ans)

  sin(2 x) - 3 exp(3 x) + 2 x cos(2 x)

积分计算:

>>syms x

>>y = f(x);

>>int(y,x)   % y的不定积分

>>int(y,x,a,b)  %y在[a,b]上的定积分

若想结果表示好看,可用pretty(ans)


<span style="font-size:14px;">>> clear
>> syms x
>> y = (x^3)/sqrt(1+x^2);
>> int(y,x)
 
ans =
 
((x^2 + 1)^(1/2)*(x^2 - 2))/3
 
>> int(y,x,0,1)
 
ans =
 
2/3 - 2^(1/2)/3
 
>> double(ans)

ans =

    0.1953</span>


求函数极值、最值

如求函数 y = x³ + 2x² - 5x + 1的极值

思路: 先求函数导数,再由导数求驻点,根据图像判断驻点是否为极值

>> syms x y
>> y = x^3 + 2*x^2 - 5 *x +1
 
y =
 
x^3 + 2*x^2 - 5*x + 1
 
>> dy = diff(y)               %求导
 
dy =
 
3*x^2 + 4*x - 5
 
>> solve(dy)              %驻点
 
ans =
 
 - 19^(1/2)/3 - 2/3
   19^(1/2)/3 - 2/3
 
>> x =double(ans)

x =

   -2.1196
    0.7863

>> ezplot(y,[-5,2])  %画图
[matlab]基础与应用笔记4_第1张图片

由图判断x=-21196是极大值点,x=0.7863是极小值点

代入求最值。

>> syms t
>> y = t^3 +2*t^2 - 5 *t +1
 
y =
 
t^3 + 2*t^2 - 5*t + 1
 
>> subs(y,t,x)

ans =

   11.0607
   -1.2088
思路二,前两步依旧,第三步继续求2阶导数,由二阶导数的正负判断。


求函数给定区间的最小值 fminbnd

>> x = fminbnd( y, x1, x2)

求函数 y =  exp(-x) + (x+1)² 在区间[-3,3]内的最小值

>> x=fminbnd('exp(-x)+(x+1)^2',-3,3)

x =

   -0.3149


>> subs('exp(-x)+(x+1)^2',x)

ans =

    1.8395


常微分方程(组)的符号求解命令dsolve,求解格式

>>[y1,...yn] = dsolve('方程1,...','条件1...',‘var')

求y′' - y' = sinx的通解


>> dsolve('D2y - Dy = sin(x)','x')
 
ans =
 
C5 + cos(x)/2 - sin(x)/2 + C6*exp(x)



你可能感兴趣的:([matlab]基础与应用笔记4)