三月 19

Mathematica仿真多摆

数学建模课有个作业,自己找个有趣的问题并用Mathematica解决。虽说我从高三的时候就开始接触Mathematica了,但是很少使用,所以基本不会用。正好有这个作业,我也就学学Mathematica。很自然地想到的一个问题就是仿真多摆。

单摆问题大家都很熟悉,高中物理也学过了,很简单的一个公式:

\frac{d^2\theta}{dt^2}=-g\sin\theta

因为这个方程是非线性的,一般都做小角度时的近似处理。但是如果使用像Mathematica这样的数学软件的话就没有必要这样做了,直接数值求解即可。当然,最后还可以做出模拟的动画。由于使用Mathematica极其不熟练,所以代码如果很乱很复杂不要在意啊。Mathematica中代码如下:

 Clear[[Theta], x, y]
F = NDSolve[{a*[Theta]''[t] == -g*Sin[[Theta][t]], [Theta][0] == 3.14/6, [Theta]'[0] == -2}, [Theta], {t, 0, 50}];
a = 8; g = 10;
x = a*Sin[[Theta][t] /. F][[1]];
y = -a*Cos[[Theta][t] /. F][[1]];
qq = Animate[Show[Graphics[Circle[{N[x /. t -> t1], N[y /. t -> t1]}, .2], PlotRange -> {{-10, 10}, {-10, 10}}],
ListLinePlot[{{0, 0}, {N[x /. t -> t1], N[y /. t -> t1]}},PlotRange -> {{-10, 10}, {-10, 10}}]], {t1, 0, 50, 0.1},DefaultDuration -> 40]

Continue reading

三月 9

的性质">从信号与系统看 \delta(t) 的性质

在学习复变函数时我们会碰到狄拉克函数,或单位脉冲函数 \delta(t) 。这个奇怪的函数是这样定义的:

\delta(t)=\left\{\begin{matrix}0,t\neq 0\\\infty ,t=0\end{matrix}\right.



\int_{-\infty}^{+\infty}\delta(t)dt=1


它的筛选性质:

\int_{-\infty}^{+\infty}x(t)\delta(t-c)dt=x(c)


这个性质其实很好理解,因为 t\neq c\delta(t-c)=0 ,所以

\int_{-\infty}^{+\infty}x(t)\delta(t-c)dt=\int_{-\infty}^{+\infty}x(c)\delta(t-c)dt=x(c)


Continue reading