第二章 matlab在微积分问题求解中的应用。
2.1 微分问题的matlab求解。
1. 函数作图。
matlab函数画图可通过ezplot或fplot等函数实现。
1)ezplot
ezplot函数的调用格式如下。
ezplot(f,[a,b])
功能:表示在区间[a,b]绘制y=f(x)的函数图,当区间缺省时默认区间[-2*pi,2*pi]。
ezplot(x,y,[tmin,tmax])
功能:在区间tmin < t < tmax上绘制参数方程x = x(t),y = y(t)的图形当区间缺省时默认区间[-2*pi,2*pi]。
例1 ezplot('sin(x)')
图2.1.1
例2 ezplot('t*cos(t)',t*sin(t)',0,4*pi])
图2.1.2
2) fplot
fplot 函数的调用格式如下。
fplot(fun,lims)
功能:绘制函数fun在区间lims上的图形。
例3fplot('tan(x)',pi/4 pi/4])
图2.1.3
2 极限的符号运算。
极限是高等数学中基本概念之一,在微积分中,很多概念是用极限定义的,例如导数和定积分。因此,掌握极限的运算对学好高等数学是极为重要的。在matlab中,极限的求解可由limit函数来实现,limit函数的格式及功能见表2.
2.1。
表2.2.1 1limit函数的格式及功能。
因为数列实际上就是定义在正整数集合上的函数,因此数列的极限可看成时的特殊函数的极限;多元函数的极限可化为累次极限实现。
例1 求下列数列的极限
解:syms n a
r1=limit(sqrt(n^2+a^2)/n,n,inf,'left') 输出 r1 =1
r2=limit(sqrt(n^2+3)-sqrt(n^2-3),n,inf,'left') 输出r2 =0
r3=limit(3^n*sin(pi/3^n),n,inf,'left') 输出r3 =pi
r4=limit((2^n-3^(n+1))/3^n-2^(n+1)),n,inf,'left') 输出r4 =-3
r5=limit(sin(pi*sqrt(n^2+1)),n,inf,'left') 输出r5 =1 ..1
r6=limit(((n-1)/(n+1))^n,n,inf,'left') 输出r6 =exp(-2)
r7=limit((n-1)^2/(n+1),n,inf,'left') 输出r7 =inf
r8=limit((-1)^n,n,inf,'left') 输出r8 =-1 ..1
r9=limit((-2)^n,n,inf,'left') 输出r9 =nan
例2 求下列函数的极限。
解:syms x h t
f1=limit((sin(x+h)-sin(x))/h,h,0) 输出f1 =cos(x)
f2=limit(1/(1-x)-3/(1-x^3),x,1) 输出 f2 =-1
f3=limit(x*sin(1/x)) 输出 f3 =0
f4=limit(t/(x-2),3) 输出f4 =t
f5=limit(abs(x)/x,x,0,'left') 输出f5 =-1
f6=limit((1+t/(-3*x))^x),x,inf,'left') 输出f6 =exp(1/3*t)
f7=limit(((2*x+3)/(2*x+1))^x+1),x,inf) 输出f7 =exp(1)
f8=limit(x*sin(1/(x-1)),x,1) 输出f8 =-1 ..1
f9=limit(x*sin(x),x,inf) 输出f9 =nan
例3 求下列函数的极限。
解:syms x y;
p1=limit(limit((2-sqrt(x*y+4))/x*y),x,0),y,0) 输出p1 =-1/4
p2=limit(limit(log(x+exp(y))/sqrt(x^2+y^2),x,1),y,0) 输出p2 =log(2)
3. 一阶微商的计算。
由导数的定义可知,一切导数的问题,都可以用极限的方法求得,例如上面例2中的第1题。在matlab中,显函数求导可通过diff函数来实现,其一般格式为。
diff(f,x):对表达式f求关于符号变量x的一阶导数或一阶偏导数。
diff(f):对表达式f求关于默认自变量的一阶导数或偏导数。
对于多元函数中的某一变量求偏导数,等价于将其余变量视为常量,仅对该变量求导。
例1 求下列函数的一阶导数。
解:syms x
d1=diff((2*x+5)^4) 输出d1 =8*(2*x+5)^3
d2=diff(x^2*log(x),x) 输出d2 =2*x*log(x)+x
d3=diff(2*tan(x)-sec(x)-1,x) 输出d3 =2+2*tan(x)^2-sec(x)*tan(x)
d4=diff(exp(atan(sqrt(x)))x) 输出 d4 =1/2/x^(1/2)/(1+x)*exp(atan(x^(1/2)))
例2 求下列函数在给定点的一阶导数。
1 求 2求
解:syms x
d1=diff(3/(5-x)+x^2/5,x);
r1=subs(d1,x,0) 输出 r1 = 0.12
d2=diff(sin(x)-cos(x),x);
r2=subs(d1,x,pi/6) 输出r2 = 0.3592
例3 求下列函数的偏导数。
解:syms x y a b;
z=x^2+x*y+y^2;
zx=diff(z,x) 输出zx =2*x+y
zy=diff(z,y) 输出zy =x+2*y
z=x^y*log(a*x+b*y);
zx=diff(z,x) 输出zx =x^y*y/x*log(a*x+b*y)+x^y*a/(a*x+b*y)
zy=diff(z,y) 输出zy =x^y*log(x)*log(a*x+b*y)+x^y*b/(a*x+b*y)
隐函数和参数方程求导的符号计算。
隐函数求导的符号计算。
如果一元函数y=f(x)由方程f(x,y)=0确定,则可由diff间接实现,其调用格式为 yx=-diff(f,x)/diff(f,y)。
例4求由方程所确定隐函数的导数。
解:syms x y
f=exp(y)+x*y-exp(1);
yx=-diff(f,x)/diff(f,y) 输出yx =-y/(exp(y)+x)
例求由方程所确定隐函数的在x=0处的导数。
解:由原方程可知x=0时,y=0。
syms x y
f=y^5+2*y-x-3*x^7;
yx=-diff(f,x)/diff(f,y);
yx0=subs(subs(yx,x,0),y,0) 输出yx0 = 0.5
参数方程求导的符号计算。
如果一元函数y=f(x)由方程参数方程所确定,则可由diff间接实现,其调用格式为yx=diff(y,t)/diff(x,t)。
例5 求参数方程所确定函数的导数。
解:syms a b t;
x=a*cos(t);
y=b*sin(t);
yx=diff(y,t)/diff(x,t) 输出yx =-b*cos(t)/a/sin(t)
例6 求参数方程所确定函数在t=2处的导数。
解 syms t;
x=1+t;
y=1+t^2;
yx2=subs(diff(y,t)/diff(x,t),t,2) 输出yx2 =4
一元函数微分的符号计算。
一元函数y=f(x)可微,其微分为可用dy=diff(y,x)*dx间接实现;在x=a处的微分可由dy=subs(diff(y,x)*dx,x,a)来实现。
例7 求下列函数的微分 1)2)
解:syms x dx
y1=(tan(1+2*x^2));
dy1=diff(y1,x)*dx 输出 dy1 =4*(1+tan(1+2*x^2)^2)*x*dx
y2=log(1-x^2);
dy2=diff(y2,x)*dx输出dy2 =-2*x/(1-x^2)*dx
例8 求函数在x=1处的微分。
解:syms x;
y=x/sqrt(1+x^2);
dy=subs(diff(y,x),x,1)*dx 输出dy =1/4*2^(1/2)*dx
例9 计算的近似值。
解:syms x;
y=sqrt(x);
dy=subs(subs(diff(y,x)*dx,x,1),dx,0.05) 输出 dy = 0.0250
因此。4. 高阶微商的计算。
同一阶微商的符号计算一样,高阶微商(包括高阶偏导数)也是主要通过函数diff来实现的,有关隐函数等问题的高阶微商也可通过diff间接来实现。求n阶导数的一般格式为。
diff(f,x,n) :对表达式f求关于符号变量x的n阶导数(或偏导数),需要说明的是n必须是正整数或0。
diff(f,n) :对表达式f求关于默认变量的n阶导数(或偏导数)。
例10求下列函数的2阶导数。
解:syms x y1 y2;
y1=x*cos(x);
dy12=diff(y1,x,2) 输出dy12 =-2*sin(x)-x*cos(x)
y2=log(x+sqrt(1+x^2));
dy22=******(diff(y2,x,2)) 输出dy22 =-x/(1+x^2)^(3/2)
由于高阶导数的符号表达式通常很复杂,上例使用了******函数,其功能是对表达式进行化简。
例11 求的所用2阶偏导数。
syms z x y;
matlab教程第二章课堂练习
matlab教程第二章符号计算。课堂练习。1 创建符号变量有几种方法?2 下面三种表示方法有什么不同的含义?3 用符号函数法求解方程at2 b t c 0。4 用符号计算验证三角等式 5 求矩阵的行列式值 逆和特征根。6 因式分解 7,用符号微分求df dx。8 求代数方程组关于x,y的解。9 符号...
第二章MATLAB
2 matlab 一个强有力的科学计算与。控制系统cad软件。2.1 概述。matlab的名字由matrix和laboratory两词的前三个字母组合而成,始创者是时任美国新墨西哥大学计算机科学系主任的cleve moler教授。于1984年由mathworks公司推出 dos版 1993年推出ma...
第二章MATLAB
2 matlab 一个强有力的科学计算与。控制系统cad软件。2.1 概述。matlab的名字由matrix和laboratory两词的前三个字母组合而成,始创者是时任美国新墨西哥大学计算机科学系主任的cleve moler教授。于1984年由mathworks公司推出 dos版 1993年推出ma...