• Newton's Method in C#


     1     public static class BondInterestMath
     2     {
     3         public delegate double Function(double x);
     4 
     5         //F(x) = cos(x)-3*pow(x,3) = 0
     6         public static double Func(double x)
     7         {
     8             return Math.Cos(x) - 3 * Math.Pow(x, 3);
     9         }
    10 
    11         public static double Derivative(double x)
    12         {
    13             return -Math.Sin(x) - 9 * Math.Pow(x, 2);
    14         }
    15 
    16         public static double NewtonMethod(Function func, Function derivative, double x0, double epsilon)
    17         {
    18             //Max interation number 10000 by default
    19             int MaxTimes = 10000;
    20             double guess = x0;
    21             double result = x0;
    22             for (int i = 1; i <= MaxTimes; i++)
    23             {
    24                 guess = result;
    25                 result = guess - func(guess) / derivative(guess);
    26                 if (Math.Abs(result - guess) < epsilon || Math.Abs(func(result)) < epsilon)
    27                 {
    28                     Console.WriteLine("iteration = {0}", i);
    29                     break;
    30                 }
    31             }
    32             return result;
    33         }
    34     }
  • 相关阅读:
    面向对象-继承
    antd pro2.0 使用记录一:登录/注册/底部版权等设置
    vscode中git的配置
    电脑桌面文件夹出现在屏幕之外了,怎么解决
    百度网盘不限速-Motrix
    u盘在电脑读不出来,但别的可以读
    win10 命令重置 管理员密码
    nginx 配置
    react 记录:运行npm run eject命令暴露配置文件都报这个错误
    浏览器 连不上网 (3):DNS 服务器问题
  • 原文地址:https://www.cnblogs.com/feishunji/p/1906099.html
Copyright © 2020-2023  润新知