椭圆内的一根定长弦(化圆法)
By 苏剑林 | 2012-07-06 | 31427位读者 | 引用在上一篇文章《抛物线内的一根定长弦》中,我们解决了抛物线内的定长弦中点轨迹问题,那还算是一个比较简单的问题。虽然同是圆锥曲线,但把同样的问题延伸到椭圆上,却不是那么简单了。因为椭圆的轨迹方程的x,y坐标通过平方相互“纠缠”在一起,不像抛物线方程那样可以容易分离开来(指的是分离成$y=f(x)$的形式)。BoJone尝试了若干种方法,还是难以把它的轨迹求出来。最后通过“化圆法”,终得轨迹方程。
所谓化圆法,就是将椭圆通过拉伸变成一个圆,利用圆的性质来解决一些问题。众所周知,相比椭圆,圆具有相当多的简单性。这是我高考前研究各种各样的高考圆锥曲线题时,所总结出来的一种方法。有时候,把椭圆拉伸为圆后,结论就相当显然了;同时,圆作为一个特殊的椭圆,椭圆的一般结论,放在圆上自然也是成立的。所以要研究椭圆问题,不妨先研究它的特例——圆问题;另一方面,利用圆的对称性等等,也可以大幅度地减少计算量,所以BoJone很喜欢这个方法。更想不到的是,它居然在求本文的轨迹时派上用场了。
在上一篇文章中,我们已经得到了电偶极子的等势面和电场线方程,这应该可以让我们对电偶极子的力场情况有个大致的了解了。当然,我们还是希望能够求出在这样的一个受力情况下,一个带电粒子是如何运动的。简单起见,在下面的探讨中,我们假定带电粒子的质量和电荷量均为1,至于电荷的正负,可以通过改变在$U=-\frac{k \cos\theta}{r^2}$中的k值的正负来控制。我们使用的工具依旧是理论力学中的欧拉-拉格朗日方程。
也许不少读者始终对公式感到头疼,更不用说是博大精深的理论力学了。但是请相信我,如果你花一点点心思去弄懂用变分法研究力学(或其他物理系统,但我目前只会用于力学)的基本思路和步骤,那么对你的物理研究是大有裨益的。因为在我眼中,学习了一丁点的理论力学知识后,我看到的只有物理的简洁与和谐。有兴趣的朋友可以看看我的那几篇《自然极值》等相关文章。
首先写出动能的表达式:$T=\frac{1}{2} (\dot{r}^2+r^2 \dot{\theta}^2)$
还有势能:$U=-\frac{k \cos\theta}{r^2}$
费曼积分法(7):欧拉数学的综合
By 苏剑林 | 2013-03-27 | 36133位读者 | 引用当Matlab遇上牛顿法
By 苏剑林 | 2013-05-22 | 59526位读者 | 引用牛顿法是求方程近似根的一个相当有用而且快捷的方法,我们最近科学计算软件课程(Matlab)的一个作业就是编写求方程近似解的程序,其中涉及到牛顿法。我们要实现的目标是,用户输入一道方程,脚本就自动求出根来。这看起来是一个挺简单的循环迭代程序,但是由于Matlab本身的特殊性,却产生了不少困难。
Matlab是为了数值计算(尤其是矩阵运算)而生的,因此它并不擅长处理符号计算。这就给我们编程带来了困难。在网上随便一搜,就可以发现,网上的Matlab牛顿法程序都是要求用户同时输入方程及其导函数,这显然是不方便的,因为Matlab本身就具备了求导功能。下面我们来分析一下困难在哪里。
我们要实现的最基本功能是定义一个函数,然后可以根据该函数求具体的函数值,并且自动求该函数的导数,接着求导数值。这些看起来很基本的功能在Matlab中却很难调和,因为Matlab的“函数”定义很广,一个具有特定功能的M文件叫“函数”,一个运算式$f(x)$也可能是一个函数,显然后者是可以求导的,前者却不行,所以Matlab一刀砍——不能对函数求导!!
传说费曼讲课很精彩,但他是上个世纪的人,所以也就没有多少视频保留下来。但是网上还是存有一些,有兴趣的读者可以收藏。
费曼讲座——光、电子、路径积分(无字幕)
http://v.youku.com/v_show/id_XNjAyMzU4ODg=.html
http://v.youku.com/v_show/id_XNjAyMzQ4NzI=.html
http://v.youku.com/v_show/id_XNTQzMTEyNTA4.html
特殊的通项公式:二次非线性递推
By 苏剑林 | 2014-11-12 | 62782位读者 | 引用特殊的通项公式
对数学或编程感兴趣的读者,相信都已经很熟悉斐波那契数列了
0, 1, 1, 2, 3, 5, 8, 13, ...
它是由
$$a_{n+2}=a_{n+1}+a_n,\quad a_0=0,a_1=1$$
递推所得。读者或许已经见过它的通项公式
$$a_{n}=\frac{\sqrt{5}}{5} \cdot \left[\left(\frac{1 + \sqrt{5}}{2}\right)^{n} - \left(\frac{1 - \sqrt{5}}{2}\right)^{n}\right]$$
这里假设我们没有如此高的智商可以求出这个复杂的表达式出来,但是我们通过研究数列发现,这个数列越来越大时,相邻两项趋于一个常数,这个常数也就是(假设我们只发现了后面的数值,并没有前面的根式)
$$\beta=\frac{1 + \sqrt{5}}{2}=1.61803398\dots$$
最近评论