zoukankan      html  css  js  c++  java
  • 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     }
  • 相关阅读:
    mysql锁表与解锁
    问题汇总
    安装一台Centos7桌面版的跳板机
    Centos7二进制部署k8s-v1.20.2 ipvs版本(部署mysql、nacos)
    Centos7二进制部署k8s-v1.20.2 ipvs版本(Prometheus监控k8s)
    CV2 安装异常
    PostgreSQL VACUUM 没有效果(无法清理死元组)的原因
    SQL Server 进程运行状态解析
    mysql 几种启动和关闭mysql服务的方法和区别
    MySQL学习(九)小结(转载)
  • 原文地址:https://www.cnblogs.com/feishunji/p/1906099.html
Copyright © 2011-2022 走看看