
1 文本格式
using System;
namespace Legalsoft.Truffer
 {
     /// <summary>
     /// 谱方法的微分矩阵
     /// Differentiation matrix for spectral methods
     /// </summary>
     public class Weights
     {
         public Weights()
         {
         }
        public static void weights(double z, double[] x, double[,] c)
         {
             int n = c.GetLength(0) - 1;
             int m = c.GetLength(1) - 1;
             double c1 = 1.0;
             double c4 = x[0] - z;
             for (int k = 0; k <= m; k++)
             {
                 for (int j = 0; j <= n; j++)
                 {
                     c[j, k] = 0.0;
                 }
             }
             c[0, 0] = 1.0;
             for (int i = 1; i <= n; i++)
             {
                 int mn = Math.Min(i, m);
                 double c2 = 1.0;
                 double c5 = c4;
                 c4 = x[i] - z;
                 for (int j = 0; j < i; j++)
                 {
                     double c3 = x[i] - x[j];
                     c2 = c2 * c3;
                     if (j == i - 1)
                     {
                         for (int k = mn; k > 0; k--)
                         {
                             c[i, k] = c1 * (k * c[i - 1, k - 1] - c5 * c[i - 1, k]) / c2;
                         }
                         c[i, 0] = -c1 * c5 * c[i - 1, 0] / c2;
                     }
                     for (int k = mn; k > 0; k--)
                     {
                         c[j, k] = (c4 * c[j, k] - k * c[j, k - 1]) / c3;
                     }
                     c[j, 0] = c4 * c[j, 0] / c3;
                 }
                 c1 = c2;
             }
         }
    }
 }
  
2 代码格式
using System;namespace Legalsoft.Truffer
{/// <summary>/// 谱方法的微分矩阵/// Differentiation matrix for spectral methods/// </summary>public class Weights{public Weights(){}public static void weights(double z, double[] x, double[,] c){int n = c.GetLength(0) - 1;int m = c.GetLength(1) - 1;double c1 = 1.0;double c4 = x[0] - z;for (int k = 0; k <= m; k++){for (int j = 0; j <= n; j++){c[j, k] = 0.0;}}c[0, 0] = 1.0;for (int i = 1; i <= n; i++){int mn = Math.Min(i, m);double c2 = 1.0;double c5 = c4;c4 = x[i] - z;for (int j = 0; j < i; j++){double c3 = x[i] - x[j];c2 = c2 * c3;if (j == i - 1){for (int k = mn; k > 0; k--){c[i, k] = c1 * (k * c[i - 1, k - 1] - c5 * c[i - 1, k]) / c2;}c[i, 0] = -c1 * c5 * c[i - 1, 0] / c2;}for (int k = mn; k > 0; k--){c[j, k] = (c4 * c[j, k] - k * c[j, k - 1]) / c3;}c[j, 0] = c4 * c[j, 0] / c3;}c1 = c2;}}}
}