【发布时间】:2013-12-13 18:39:55
【问题描述】:
double a = 1, Lspan = 30, Lcable = 33, fn, fdn, dfn, j;
fn = (2 * a * (Math.Sinh(Lspan / 2 * a))) - Lcable;
fdn = (2 * (Math.Sinh(Lspan / 2 * a)) - ((Lspan / 2 * a) * Math.Cosh(Lspan / 2 * a)));
dfn = -fn / fdn;
do
j = a + dfn;
while (dfn > 0.00000000001);
这就是我的代码。我知道它写得很糟糕!我是初学者。 所以这是我的问题,从上面我想做的是牛顿拉夫森方法..
xn+1 = xn - f(xn)/f'(xn )
现在我知道如何计算 f(xn)/f'(xn) 如上所示,但我遇到的问题是 x n 部分。
对于那些不知道的人,用牛顿拉夫森你给 xn 的一个猜测估计,假设 1 然后你把它填进去..那么你得到的新答案就变成 x n 为等式,然后以此类推,直到达到极限。 现在,如果您能遵循这一点,说实话,它写得非常糟糕!那么我需要你的帮助!
【问题讨论】:
-
看起来非常熟悉 -> stackoverflow.com/questions/20223022/…
-
老实说,我不知道你在说什么,但我用谷歌搜索了你的问题,这个链接有帮助吗? daniweb.com/software-development/csharp/code/369815/…
-
我确切地知道牛顿拉夫森方法是什么,但我不确定这里的问题是什么。您是在问如何找到 xn?
-
您是否巧妙地选择了变量
a来表示您要查找的根x? -
您从哪里获得 +1?维基百科没有 +1:en.wikipedia.org/wiki/Newton%27s_method
标签: c# numerical-methods newtons-method