📄 3.txt
字号:
Insert:将函数f(x)保存到函数内存列表中的最后;
Cycle:用内存函数列表中的第二项代替函数f(x);
Delete:从内存函数列表中删除函数f(x);
Reset:重新设置计算器为初始状态;
Help:显示在线的关于计算器的帮助;
Demo:运行该计算器的演示程序;
Close:关闭计算器的三个窗口。
3.2.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)
3.2.3 符号函数的作图
命令1 画符号函数的等高线图
函数 ezcontour
格式 ezcontour(f) %画出二元符号函数f=f(x,y)的等高线图。函数f将被显示于缺省的平面区域[-2π<x<2π,-2π<y<2π]内。系统将根据函数变动的激烈程度自动选择相应的计算栅格。若函数f在某些栅格点上没有定义,则这些点将不显示。
ezcontour(f,domain) %在指定的定义域domain内画出二元函数f(x,y),参量domain可以是四维向量[xmin,xmax,ymin,ymax]或二维向量[min,max](其中显示区域为:min<x<max,min<y<max)。
ezcontour(…,n) %用指定n*n个栅格点(对定义域的一种划分),在缺省(若没有指定)的区域内画出函数f的图形。n的缺省值为60。
说明 该命令用函数表达式作为标题显示,同时显示坐标轴的恰当的刻度标签。
例3-29
>>syms x y
>>f = (1-x)^2*exp(-(x^2)-(y+1)^2)-5*(x/5-x^3-y^5)*sin(-x^2-y^2)-1/3*exp(-(x+1)^2-y^2);
ezcontour(f,[-3,3],49)
图形结果为图3-4。
命令2 用不同颜色填充的等高线图
函数 ezcontourf
格式 ezcontourf(f) %画出二元符号函数f=f(x,y)的等高线图,且在不同的等高线之间自动用不同的颜色进行填充。函数f将被显示于缺省的平面区域[-2π<x<2π,-2π<y<2π]内。系统将根据函数变动激烈程度自动选择相应的计算栅格。若函数f在某些栅格点上没有定义,则这些点将不显示。
ezcontourf(f,domain) %在指定的定义域domain内画出二元函数f(x,y)的等高线图,且在不同的等高线之间自动用不同的颜色进行填充。定义域domain可以是四维向量[xmin,xmax,ymin,ymax]或二维向量[min,max](其中显示区域为:min<x<max,min<y<max)。
ezcontourf(…,n) %用指定n*n个栅格点(对定义域的一种划分),在缺省(若没有指定)的区域内画出函数f的等高线图,且在不同的等高线之间自动用不同的颜色进行填充。n的缺省值为60。
例3-30
>>syms x y
>>f = (1-x)^2*exp(-(x^2)-(y+1)^2)-5*(x/5-x^3-y^5)*sin(-x^2-y^2)-1/3*exp(-(x+1)^2-y^2);
ezcontourf(f,[-3,3],64)
图形结果为图3-5。
图3-4 等高线图 图3-5 等高线填充图
命令3 符号函数的三维网格图
函数 ezmesh
格式 ezmesh(f) %画出二元数学符号函数f=f(x,y)的网格图。函数f将显示于缺省的平面区域[-2π<x<2π,-2π<y<2π]内。系统将根据函数变动的激烈程度自动选择相应的计算栅格。若函数f在某些栅格点上没有定义,则这些点将不显示。
ezmesh(f,domain) %在指定的定义域domain内画出二元函数f(x,y)的网格图,定义域domain可以是四维向量[xmin,xmax,ymin,ymax]或二维向量[min,max](其中显示区域为:min<x<max,min<y<max)。
ezmesh(x,y,z) %在缺省的矩形定义域范围[-2π<s<2π,-2π<t<2π]内画参数形式函数x=x(s,t)、y=y(s,t)、z=z(s,t)的二元函数z=f(x,y)的网格图。
ezmesh(x,y,z,[smin,smax,tmin,tmax]) %在指定的矩形定义域范围[smin<s<smax,min<t<tmax]内画参数形式函数x=x(s,t)、y=y(s,t)、z=z(s,t)的二元函数z=f(x,y)的网格图。
ezmesh(x,y,z,[min,max]) %用指定的矩形定义域[min<x<max,min<y<max]画出函数z=f(x,y)的网格图。
ezmesh(f,…,n) %用指定n*n个栅格点,在缺省(若没有指定)的区域内画出函数f网的图形。n的缺省值为60。
ezmesh(…,'circ') %在一圆形区域(圆心位于定义域在中心)的范围内画出函数f的网格图形。
例3-31
>>syms x y
>>ezmesh(x*sin(-x^2-y^2),40,’circ’)
>>colormap [0 0 1]
图形结果为:(图3-6)
命令4 同时画出曲面网格图与等高线图
函数 ezmeshc
格式 ezmeshc(f) %画出二元数学符号函数z=f(x,y)的网格图形,同时在xy平面上显示其等高线图。函数f将被显示于缺省的平面区域[-2π<x<2π,-2π<y<2π]内。系统将根据函数变动的激烈程度自动选择相应的计算栅格。若函数f在某些栅格点上没有定义,则这些点将不显示。
ezmeshc(f,domain) %在指定的定义域domain内画出二元函数f(x,y)的网格图及其等高线图,domain可以是四维向量[xmin,xmax,ymin,ymax]或二维向量[min,max](其中显示区域为:min<x<max,min<y<max)。
ezmeshc(x,y,z) %在缺省的矩形定义域范围[-2π<s<2π,-2π<t<2π]内画出参数形式函数x=x(s,t)、y=y(s,t)、z=z(s,t)的二元函数z=f(x,y)的网格图形与其等高线图。
ezmeshc(x,y,z,[smin,smax,tmin,tmax]) %在指定的矩形定义域范围[smin<s<smax,tmin<t<tmax]内画出参数形式函数x=x(s,t)、y=y(s,t)、z=z(s,t)的二元函数z=f(x,y)的网格图形与其等高线图。
ezsurfc(x,y,z,[min,max]) %用指定的定义域[min<x<max,min<y<max]画出函数z=f(x,y)的网格图与等高线图。
ezmeshc(f,…,n) %用指定n*n个栅格点,在缺省(若没有指定)的区域内画出函数f的网格图形与等高线图。n的缺省值为60。
ezmeshc(…,'circ') %在一圆形区域(圆心位于定义域在中心)的范围内画出函数f的网格图形及其等高线图。
例3-32
>>syms x y
>>ezmeshc(x*y/(1 + x^2 + y^2),[-5,5,-2*pi,2*pi],35)
图形结果为图3-7。
图3-6 三维网格图 图3-7 网格等高线图
命令5 画符号函数的图形
函数 ezplot
格式 ezplot(f) %对于显式函数f=f(x),在缺省的范围[-π<x<π]上画函数f(x);对于隐函数f=f(x,y),在缺省的平面区域[-2π<x<2π,-2π<y<2π]上画函数f(x,y)的图形。
ezplot(f,[min,max]) %在指定的范围[min<x<max]内画函数表达式f=f(x)。若没有图形窗口存在,则该命令先生成标题为Figure No.1的新窗口,再在该窗口中操作;若已经有图形窗口存在,则在标号最高的图形窗口中进行操作。
ezplot(f,[xmin xmax],fign) %在指定标号fign的窗口中、指定的范围[xmin xmax]内画出函数f=f(x)的图形。
ezplot(f,[xmin,xmax,ymin,ymax]) %在平面矩形区域[xmin<x<xmax, ymin<y <ymax]上画出函数f(x,y)=0的图形。
ezplot(x,y) %在缺省的范围0<t<2π内画参数形式函数x=x(t)与y=y(t)的图形。
ezplot(x,y,[tmin,tmax]) %在指定的范围[tmin < t < tmax]内画参数形式函数x=x(t)与y=y(t)的图形。
ezplot(…,figure) %在由参量figure句柄指定的图形窗口中画函数图形。
例3-33
>>syms x y
>>ezplot(x^6-y^2)
图形结果为图3-8。
例3-34
>>syms x
>>ezplot(exp(x)*sin(x)/x)
>>grid on
图形结果为图3-9。
命令6 三维参量曲线图
函数 ezplot3
格式 ezplot3(x,y,z) %在缺省的范围0<t<2π内画空间参数形式的曲线x=x(t)、y=y(t)与z=z(t)的图形。
ezplot3(x,y,z,[tmin,tmax]) %在指定的范围tmin < t < tmax.内画空间参数形式的曲线x=x(t)、y=y(t)与z=z(t)的图形。
ezplot3(…,'animate') %以动画形式画出空间三维曲线。
图3-8 隐函数图 图3-9 显函数图
例3-35
>>syms t;
>>ezplot3(t*sin(t), t*cos(t), t,[0,20*pi])
图形结果为图3-10。
命令7 画极坐标图形
函数 ezpolar
格式 ezpolar(f) %在缺省的范围0<theta<2π内画极坐标函数rho=f(theta)的图形。且将函数关系式显示于图形下方。
ezpolar(f,[a,b]) %在指定的范围a<theta<b内画极坐标函数rho=f(theta)的图形。且将函数关系式显示于图形下方。
例3-36
>>syms t
>>ezpolar(1+cos(5*t))
图形结果为图3-11。
图3-10 三维曲线图 图3-11 极坐标图
命令8 三维带颜色的曲面图
函数 ezsurf
格式 ezsurf(f) %画出二元数学符号函数z=f(x,y)的曲面图形。函数f将显示于缺省的平面区域[-2π<x<2π,-2π<y<2π]内。系统将根据函数的变动程度自动选择相应的计算栅格。若函数f在栅格点上没有定义,则这些点将不显示。
ezsurf(f,domain) %在指定的定义域domain内画出二元函数f(x,y)的曲面图形,domain可以是四维向量[xmin,xmax,ymin,ymax],或者是二维向量[min,max] (其中有min<x<max,min<y<max)。
ezsurf(x,y,z) %在缺省的矩形定义域范围-2π<s<2π,-2π<t<2π内画出参数形式函数x=x(s,t)、y=y(s,t)与z=z(s,t)的曲面图形。
ezsurf(x,y,z,[smin,smax,tmin,tmax])或ezsurf(x,y,z,[min,max]) %用指定的定义域画出参数形式的曲面图形
ezsurf(…,n) %用指定n*n个栅格点,在缺省(若没有指定)的区域内画出函数f的图形,n的缺省值为60。
ezsurf(…,'circ') %在一圆形中心位于定义域在中心的范围内画出函数f的曲面图形
例3-37
>>syms x y
>>ezsurf(real(atan(x+i*y)))
图形结果为图3-12。
命令9 同时画出曲面图与等高线图
函数 ezsurfc
格式 ezsurfc(f) %画出二元数学符号函数z=f(x,y)的曲面图形与其等高线图。函数f将显示于缺省的平面区域[-2π<x<2π,-2π<y<2π]内。系统将根据函数的变动程度自动选择相应的计算栅格。若函数f在栅格点上没有定义,则这些点将不显示。
ezsurfc(f,domain) %在指定的定义域domain内画出二元函数f(x,y)的曲面图形及其等高线图,domain可以是四维向量[xmin,xmax,ymin,ymax]或二维向量[min,max](其中有min<x<max,min<y<max)。
ezsurfc(x,y,z) %在缺省的矩形定义域范围-2π<s<2π,-2π<t<2π内画出参数形式函数x=x(s,t)、y=y(s,t)与z=z(s,t)的曲面图形与等高线图。
ezsurfc(x,y,z,[smin,smax,tmin,tmax])或ezsurfc(x,y,z,[min,max]) %用指定的定义域画出参数形式的曲面图形与等高线图
ezsurfc(…,n) %用指定n*n个栅格点,在缺省(若没有指定)的区域内画出函数f的曲面图形与等高线图,n的缺省值为60。
ezsurfc(…,'circ') 在一圆形中心位于定义域的中心范围内画出函数f的曲面图形与等高线图
例3-38
>>syms x y
>>ezsurfc(x*y/(1 + x^2 + y^2),[-5,5,-2*pi,2*pi],35,’circ’)
图形结果为图3-13。
图3-12 三维曲面图 图3-13 三维曲面等高线图
3.2.4 积分变换
命令1 Fourier积分变换
函数 fourier
格式 F = fourier(f)
说明 对符号单值函数f中的缺省变量x(由命令findsym确定)计算Fourier变换形式。缺省的输出结果F是变量w的函数:
若f = f(w),则fourier(f)返回变量为t的函数:F= F(t)。
F = fourier(f,v) 对符号单值函数f中的指定变量v计算Fourier变换形式:
F = fourier(f,u,v) 令符号函数f为变量u的函数,而F为变量v的函数:
例3-39
>>syms x w u v
>>f = sin(x)*exp(-x^2); F1 = fourier(f)
>>g = log(abs(w)); F2 = fourier(g)
>>h = x*exp(-abs(x)); F3 = fourier(h,u)
>>syms x real
>>k = cosh(-x^2*abs(v))*sinh(u)/v
>>F4 = fourier(k,v,u)
计算结果为:
F1 =
-1/2*i*pi^(1/2)*exp(-1/4*(w-1)^2)+1/2*i*pi^(1/2)*exp(-1/4*(w+1)^2)
F2 =
fourier(log(abs(w)),w,t)
F3 =
-4*i/(1+u^2)^2*u
F4 =
sinh(u)*(1/2*fourier(1/v*exp(x^2*abs(v)),v,u)-i*atan(u/x^2))
命令2 逆Fourier积分变换
函数 ifourier
格式 f = ifourier(F)
说明 输出参量f = f(x)为缺省变量w的标量符号对象F的逆Fourier积分变换。即:F = F(w) → f = f(x)。若F = F(x),ifourier(F)返回变量t的函数:即:F = F(x) → f = f(t)。逆Fourier积分变换定义为:
f = ifourier(F,u) 使函数f为变量u(u为标量符号对象)的函数:
f = ifourier(F,v,u) 使F为变量v的函数,f为变量u的函数:
例3-40
>>syms w v x t
>>syms a real
>>f = sqrt(exp(-w^2/(4*a^2)));
>>IF1 = ifourier(f)
>>g = exp(-abs(x));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -