说明:在mathematica中,一般我们需要查看变动某个函数的某个或某几个参数时,图形的变化情况,我们可以采用函数Manipulate(手动变化参数,即静态图)或Animate(自动变化参数,即动态图)
1.给定外生参数的函数图
示例代码:
Clear["`*"];
k=1;
P=Plot[Sin[x + k], {x, 0, 2 Pi}];
G=Graphics[Circle[{k, 0}, 1],
PlotRange -> {{0, 2 Pi}, {-1.2, 1.2}}];
Show[P,G]
对应的结果如下:
注意:只能通过手动改变k的值才可以变化图形
代码:
k = 1;
P = Plot[Sin[x + k], {x, 0, 2 Pi}];
S = Plot[Cos[x - k], {x, 0, 2 Pi}];
G = Graphics[Circle[{k, 0}, 1], PlotRange -> {{0, 2 Pi}, {-1.2, 1.2}}];
Show[P, S, G]
对应结果:
2.Manipulate函数
示例代码:
Clear["`*"];
Manipulate[
Show[{Graphics[Circle[{k, 0}, 1]], Plot[Sin[x + k], {x, 0, 2 Pi}]},
PlotRange -> {{0, 2 Pi}, {-1.2, 1.2}}], {k, 0, 2 Pi}]
对应的结果如下:
注意:通过滑动改变k来改变图形
用函数的形式表示
代码:
Clear["`*"];
G[k_] = Circle[{k, 0}, 1];
P[k_, x_] = Sin[x + k];
S[k_, x_] = Cos[x - k];
Manipulate[
Show[{Graphics[G[k]], Plot[{P[x, k], S[k, x]}, {x, 0, 2 Pi}]},
PlotRange -> {{0, 2 Pi}, {-1.2, 1.2}}], {k, 0, 2 Pi}]
对应的结果:
3.Animate函数
示例代码:
Clear["`*"];
Animate[Show[{Graphics[Circle[{k, 0}, 1]],
Plot[Sin[x + k], {x, 0, 2 Pi}]},
PlotRange -> {{0, 2 Pi}, {-1.2, 1.2}}], {k, 0, 2 Pi}]
对应结果如下:
注意:不需要人工手动滑k的滑动按钮就会自动变化
如果不让其自动变化,可以添加条件AnimationRunning -> False,即:
Clear["`*"];
Animate[Show[{Graphics[Circle[{k, 0}, 1]],
Plot[Sin[x + k], {x, 0, 2 Pi}]},
PlotRange -> {{0, 2 Pi}, {-1.2, 1.2}}], {k, 0, 2 Pi},AnimationRunning -> False]
函数形式:
代码:
Clear["`*"];
G[k_] = Circle[{k, 0}, 1];
P[k_, x_] = Sin[x + k];
S[k_, x_] = Cos[x - k];
Animate[Show[{Graphics[G[k]], Plot[{P[x, k], S[k, x]}, {x, 0, 2 Pi}]},
PlotRange -> {{0, 2 Pi}, {-1.2, 1.2}}], {k, 0, 2 Pi}]
对应结果: