【发布时间】:2013-12-11 22:43:40
【问题描述】:
用 C# 编码的算法:
fn = f(xn)
f′n = df(xn)/dx
∆xn = -fn / f′n
Update: xn+1 = xn + ∆xn
Repeat the process until ∆xn ≤ e
我必须使用 Newton-Raphson 方法来解决,但我不知道如何做一个循环,每次都输入下一个答案。如何计算?
这是我损坏的代码
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);
Console.WriteLine( " {0} ",j) ;
Console.ReadKey();
【问题讨论】:
-
展示一些你曾尝试做某事的证据,而不是让别人为你做这件事。谢谢。
-
@Tom W 我已经更新它以显示我的代码
标签: c# newtons-method