mathematica¤ÈʪÍý 3
mathematica¤Ç¥×¥í¥°¥é¥à¤òÁȤࡣ
¥×¥í¥°¥é¥ß¥ó¥°¡§
(1)IQ¥Æ¥¹¥È¤òºî¤í¤¦¡ÊÂÐÏ÷¿¤Î¥×¥í¥°¥é¥ß¥ó¥°¡Ë
(2)ÀÑʬ¥×¥í¥°¥é¥à¤òºî¤í¤¦
¥Þ¥¹¥Þ¥Æ¥£¥«¤ò»È¤Ã¤ÆÊªÍýÌäÂê¤ò²ò¤¯¡§
(1)±«Î³¤ÎÍî²¼ÌäÂê
(2)ÅŻҤκî¤ëÀÅÅžì
¥×¥í¥°¥é¥ß¥ó¥°¡§
(1)IQ¥Æ¥¹¥È¤òºî¤í¤¦¡ÊÂÐÏ÷¿¤Î¥×¥í¥°¥é¥ß¥ó¥°¡Ë
(2)ÀÑʬ¥×¥í¥°¥é¥à¤òºî¤í¤¦
¥Þ¥¹¥Þ¥Æ¥£¥«¤ò»È¤Ã¤ÆÊªÍýÌäÂê¤ò²ò¤¯¡§
(1)±«Î³¤ÎÍî²¼ÌäÂê
(2)ÅŻҤκî¤ëÀÅÅžì
¥³¥á¥ó¥È
¥×¥í¥°¥é¥à¤Ï¤·¤é¤»¤Æ¤ß¤Þ¤·¤¿¡£
¥×¥í¥°¥é¥àÍÆñ¤¦¤´¤¶¤¤¤Þ¤¹¡£
±«Î³¤ÎÍî²¼¤ÎÌäÂê¤Î¥Þ¥¹¥Þ¥Æ¥£¥«¥×¥í¥°¥é¥à¤Ç¤·¤ç¤¦¤«¡©¡¡¥ï¥¶¥ï¥¶ÍÆñ¤¦¤´¤¶¤¤¤Þ¤¹¡£»²¹Í¤Ë¤µ¤»¤Æ¤â¤é¤¤¤Þ¤¹¡£
Projectile with Air Resistance (Fdrag = -bv)
Clear["Global`*"];
eqm = {m v'[t] == -m g - b v[t], y'[t] == v[t]};
init = {y[0] == y0, y'[0] == v0};
dsol = DSolve[Join[eqm, init], {v, y}, t] // Flatten // Simplify;
{v[t], y[t]} /. dsol
vterm = v[t] /. dsol /. {t -> large m/b} // ExpandAll
vterm = Limit [vterm, large -> Infinity]
{ynar[t], vnar[t]} = Limit[{y[t], v[t]} /. dsol, b -> 0]
val1 = {g -> 9.8, m -> 1, y0 -> 0, v0 -> 0};
coord1[b_] = {t, y[t]} /. dsol /. val1 // Simplify
coord1[0] = {t, ynar[t]} /. val1
Clear[plot1];
plot1[b_] := ParametricPlot[Evaluate[coord1[b], {t, 0, 10}]]; plotarray1 =
Table[plot1[b], {b, 0, 1, 1/2}];
Show[plotarray1,
Graphics[{Text["b=0", {5, -200}], Text["b=1/2", {8, -150}],
Text["b=1", {9, -50}]}], Frame -> True,
FrameLabel -> {"t", "y", "Effect of Air Resistance", ""}];
coord2[b_] = {t, v[t]} /. dsol /. val1 // ExpandAll
coord2[0] = {t, vnar[t]} /. val1;
coord3[b_] = {t, vterm} /. dsol /. val1 // ExpandAll
coord3[0] = {t, 0};
Clear[plot2];
plot2[b_] := ParametricPlot[Evaluate[{coord2[b], coord3[b]}], {t, 0, 10}]
plotarray2 = Table[plot2[b], {b, 0, 1, 1/2}];
Show[plotarray2,
Graphics[{Text["b=0", {3.5, -25}], Text["b=1/2", {7, -17}],
Text["b=1", {8, -7}]}], PlotRange -> {0, -30}, Frame -> True,
RotateLabel -> False,
FrameLabel -> {"t", "v", "Effect of Air Resistance", ""}];
eqm = {m v'[t] == -m g - b v[t], y'[t] == v[t]};
init = {y[0] == y0, y'[0] == v0};
dsol = DSolve[Join[eqm, init], {v, y}, t] // Flatten // Simplify;
{v[t], y[t]} /. dsol
vterm = v[t] /. dsol /. {t -> large m/b} // ExpandAll
vterm = Limit [vterm, large -> Infinity]
{ynar[t], vnar[t]} = Limit[{y[t], v[t]} /. dsol, b -> 0]
val1 = {g -> 9.8, m -> 1, y0 -> 0, v0 -> 0};
coord1[b_] = {t, y[t]} /. dsol /. val1 // Simplify
coord1[0] = {t, ynar[t]} /. val1
Clear[plot1];
plot1[b_] := ParametricPlot[Evaluate[coord1[b], {t, 0, 10}]]; plotarray1 =
Table[plot1[b], {b, 0, 1, 1/2}];
Show[plotarray1,
Graphics[{Text["b=0", {5, -200}], Text["b=1/2", {8, -150}],
Text["b=1", {9, -50}]}], Frame -> True,
FrameLabel -> {"t", "y", "Effect of Air Resistance", ""}];
coord2[b_] = {t, v[t]} /. dsol /. val1 // ExpandAll
coord2[0] = {t, vnar[t]} /. val1;
coord3[b_] = {t, vterm} /. dsol /. val1 // ExpandAll
coord3[0] = {t, 0};
Clear[plot2];
plot2[b_] := ParametricPlot[Evaluate[{coord2[b], coord3[b]}], {t, 0, 10}]
plotarray2 = Table[plot2[b], {b, 0, 1, 1/2}];
Show[plotarray2,
Graphics[{Text["b=0", {3.5, -25}], Text["b=1/2", {7, -17}],
Text["b=1", {8, -7}]}], PlotRange -> {0, -30}, Frame -> True,
RotateLabel -> False,
FrameLabel -> {"t", "v", "Effect of Air Resistance", ""}];
¥³¥á¥ó¥È¤ÎÅê¹Æ
¥È¥é¥Ã¥¯¥Ð¥Ã¥¯
http://letsphysics.blog17.fc2.com/tb.php/225-6fc5264f
M¤µ¤ó¤Î¥×¥í¥°¥é¥à¤Ë»ä¤¬Å¬Åö¤Ë¥³¥á¥ó¥È¤òÉÕ¤±¡¢¤½¤·¤Æ¥Î¡¼¥È¥Ö¥Ã¥¯¤Î¥¹¥¿¥¤¥ë¥·¡¼¥È¤ÇÀ°Íý¤·¤¿¤â¤Î¤òºî¤ê¤Þ¤·¤¿¡£¤â¤·¤âÌÂÏǤǤʤ±¤ì¤Ð¥Þ¥¹¥Þ¥Æ¥£¥«¤ÎÊÙ¶¯¤Î¤¿¤á¤Ë»È¤ï¤»¤Æ¤â¤é¤¤¤¿¤¤¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£