积分曲线
函数 f(x) 的原函数的图形称为 f(x) 的积分曲线 (Integral curves)。
求函数 f(x) 的不定积分就得到 f(x) 的一族积分曲线: y=F(x)+C。
这一族积分曲线有这样的特点:在横坐标相同的点处,各积分曲线的切线是彼此平行的(以下动画显示)。
y=x^2 的积分曲线:y=x^3/3+C
with(plots):
family:=seq(x^3/3+C,C=-2..3):
tuxing:=plot([family],x=-2..2.3,thickness=3):
wenzi:=textplot([1.1,6,"y=x^3/3+C"],color=black):
display(tuxing,wenzi,scaling=constrained);
y=2x 的积分曲线:y=x^2+C
with(plots):
a:=-2:b:=2:
f:=x->x^2:
A:=plot(f(x),x=a..b,y=-2..5,thickness=2,color=red):
B:=plot(f(x)-1,x=a..b,thickness=2,color=green):
C:=plot(f(x)+1,x=a..b,thickness=2,color=blue):
E:=plot(f(x)+2,x=a..b,thickness=2,color=brown):
display(A,B,C,E,scaling=constrained,tickmarks=[6,6]);
积分曲线族(动画)
with(plots):
f:=x->x^2-2*x:x0:=1.5:TG:=x->f(x0)+(x-x0)*(f(x0+0.01)-f(x0-0.01))/0.02:
p:=plot(f(x),x=0..4,color=red,scaling=constrained,thickness=3):
T0:=plot([x,TG(x),x=x0-0.5..x0+0.5],color=blue,thickness=2):
a:=0.05:
L:=seq((plot([x,f(x)+a*k,x=0..4],color=red,thickness=3), k=0..50)):
line:=display(L,insequence=true):
p1:=plot([[x0,-1],[x0,3]],color=black,linestyle=3):
T:=seq(plot([x,TG(x)+a*k,x=x0-0.5..x0+0.5],color=blue,thickness=2),k=0..50):
T:=display(seq(T,k=0..0),insequence=true):
display(line,p,T0,T,p1, scaling=constrained,tickmarks=[0,0],view=-1..4,title="integral curve");
动画显示:在横坐标相同的点处,各积分曲线的切线是彼此平行的。
with(plots):with(plottools):
a:=0:b:=2.5:f:=x->0.7*x*(x-1)*(x-2)*(x-2.5):
curve:=plot(f(x),x=a..b):
f1:=x->f(x)+0.5: curve1:=plot(f1(x),x=a..b):
f2:=x->f1(x)+0.5: curve2:=plot(f2(x),x=a..b):
f3:=x->f2(x)+0.5: curve3:=plot(f3(x),x=a..b):
L:=0.3:
K:=100:for i from 1 to K do xi:=a+i*(b-a)/K:
xian[i]:=plot([[xi,-1],[xi,2]],color=black,linestyle=2):
tangent[i]:=plot([x,f(xi)+D(f)(xi)*(x-xi),x=xi-L/sqrt(1+D(f)(xi)^2)..xi+L/sqrt(1+D(f)(xi)^2)],color=blue):
tangent1[i]:=plot([x,f1(xi)+D(f)(xi)*(x-xi),x=xi-L/sqrt(1+D(f)(xi)^2)..xi+L/sqrt(1+D(f)(xi)^2)],color=blue):
tangent2[i]:=plot([x,f2(xi)+D(f)(xi)*(x-xi),x=xi-L/sqrt(1+D(f)(xi)^2)..xi+L/sqrt(1+D(f)(xi)^2)],color=blue):
tangent3[i]:=plot([x,f3(xi)+D(f)(xi)*(x-xi),x=xi-L/sqrt(1+D(f)(xi)^2)..xi+L/sqrt(1+D(f)(xi)^2)],color=blue) od:
xian:=display(seq(xian[i],i=1..K),insequence=true):
tangent:=display(seq(tangent[i],i=1..K),insequence=true):
tangent1:=display(seq(tangent1[i],i=1..K),insequence=true):
tangent2:=display(seq(tangent2[i],i=1..K),insequence=true):
tangent3:=display(seq(tangent3[i],i=1..K),insequence=true):
display(tangent,tangent1,tangent2,tangent3,curve,curve1,curve2,curve3,xian,tickmarks=[5,4], thickness=3,scaling=constrained);
评论