极限与导数
1.极限
MATLAB中求极限的命令为limit,limit的调用格式如下:
命令 | 说明 |
---|---|
limit(f,x,a)或limit(f,a) | lim x → a f ( x ) \lim _{x \rightarrow a} f(x) limx→af(x) |
limit(f) | lim x → 0 f ( x ) \lim _{x \rightarrow 0} f(x) limx→0f(x) |
limit(f,x,a,‘right’) | lim x → a + f ( x ) \lim _{x \rightarrow a+} f(x) limx→a+f(x) |
limit(f,x,a,‘left’) | lim x → a − f ( x ) \lim _{x \rightarrow a-} f(x) limx→a−f(x) |
syms x;
f = sin(x)/x;
limit(f)
ans =
1
y = (sqrt(3*x+1)-2)/(x-1);
limit(y,x,1)
ans =
3/4
z = log(1+x)/x;
limit(z,x,0,'right')
ans =
1
求解的基本思路为:
(1)先利用syms定义变量。
(2)利用公式编写极限函数。
(3)调用求极限函数limit求极限。
2.倒数
MATLAB中求导数的命令为diff,其调用格式如下:
命令 | 说明 |
---|---|
diff(f) | 求函数f(x)的导数 |
diff(f,n) | 求函数f(x)的n阶导数 |
diff(f,x,n) | 求多元函数f(x,y,L)对x的n阶导数 |
syms x y
f = log(exp(x*(x+y^2))+(sqrt(x^2+4)+y^2)+tan(1+x+x^2));
fx = diff(f,x)
fx =
(exp(x*(y^2 + x))*(y^2 + 2*x) + x/(x^2 + 4)^(1/2) + (2*x + 1)*(tan(x^2 + x + 1)^2 + 1))/(tan(x^2 + x + 1) + exp(x*(y^2 + x)) + (x^2 + 4)^(1/2) + y^2)
fy = diff(f,y)
fy =
(2*y + 2*x*y*exp(x*(y^2 + x)))/(tan(x^2 + x + 1) + exp(x*(y^2 + x)) + (x^2 + 4)^(1/2) + y^2)
fxx = diff(f,x,2)
fxx =
(2*exp(x*(y^2 + x)) + 2*tan(x^2 + x + 1)^2 + 1/(x^2 + 4)^(1/2) + exp(x*(y^2 + x))*(y^2 + 2*x)^2 - x^2/(x^2 + 4)^(3/2) + 2*tan(x^2 + x + 1)*(2*x + 1)^2*(tan(x^2 + x + 1)^2 + 1) + 2)/(tan(x^2 + x + 1) + exp(x*(y^2 + x)) + (x^2 + 4)^(1/2) + y^2) - (exp(x*(y^2 + x))*(y^2 + 2*x) + x/(x^2 + 4)^(1/2) + (2*x + 1)*(tan(x^2 + x + 1)^2 + 1))^2/(tan(x^2 + x + 1) + exp(x*(y^2 + x)) + (x^2 + 4)^(1/2) + y^2)^2
fxx = diff(fx,x)
fxx =
(2*exp(x*(y^2 + x)) + 2*tan(x^2 + x + 1)^2 + 1/(x^2 + 4)^(1/2) + exp(x*(y^2 + x))*(y^2 + 2*x)^2 - x^2/(x^2 + 4)^(3/2) + 2*tan(x^2 + x + 1)*(2*x + 1)^2*(tan(x^2 + x + 1)^2 + 1) + 2)/(tan(x^2 + x + 1) + exp(x*(y^2 + x)) + (x^2 + 4)^(1/2) + y^2) - (exp(x*(y^2 + x))*(y^2 + 2*x) + x/(x^2 + 4)^(1/2) + (2*x + 1)*(tan(x^2 + x + 1)^2 + 1))^2/(tan(x^2 + x + 1) + exp(x*(y^2 + x)) + (x^2 + 4)^(1/2) + y^2)^2
同样的,求导数的思路为:
(1)利用sym或syms定义变量。
(2)输入表达式。
(3)利用diff函数求导。
3.级数求和
3.1 有限级数项求和
MATLAB中求级数的命令为symsum,其主要调用格式如下:
命令 | 说明 |
---|---|
symsum(s) | 计算函数f的不定积分 |
symsum(s,v) | 计算函数f关于变量x的不定积分 |
symsum(s,a,b) | 求级数s关于系统默认的变量从a到b的有限项和 |
symsum(s,v,a,b) | 求级数s关于变量v从a到b的有限项和 |
等比数列与等差数列求和:
syms a b n;
s = a^n+b*n;
symsum(s)
ans =
piecewise(a == 1, n - (b*n)/2 + (b*n^2)/2, a ~= 1, (b*n^2)/2 - (b*n)/2 + a^n/(a - 1))
三角函数求和:
syms n x;
s = sin(n*x);
symsum(s,n)
ans =
piecewise(in(x/(2*pi), 'integer'), 0, ~in(x/(2*pi), 'integer'), (exp(-x*1i)^n*1i)/(2*(exp(-x*1i) - 1)) - (exp(x*1i)^n*1i)/(2*(exp(x*1i) - 1)))
幂数列求和:
syms n x;
s = 2^(sin(n*x));
symsum(s,n)
ans =
symsum(2^sin(n*x), n)
3.2 无穷级数求和
无穷级数求和也可以使用symsum进行,只需要将命令参数中求和区间的端点改为无穷区间。
syms n;
s = 1/n;
y = symsum(s,1,inf)
y =
Inf