Упростить вывод уравнений - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет! У меня такая проблема, есть два массива xi и yi
double[] xi = { 0.3, 0.55, 0.75, 0.9, 0.98, 1 };
double[] yi = { 0.3, 0.25, 0.2, 0.15, 0.08, 0.02, 1 };
из которых я вручную вписываю данные в уравнения k
var k1 = xi[0]*yi[0];
var k2 = (xi[1]*yi[0]) + (xi[0]*yi[1]);
var k3 = (xi[2]*yi[0]) + (xi[1]*yi[1]) + (xi[0]*yi[2]);
var k4 = (xi[3]*yi[0]) + (xi[2]*yi[1]) + (xi[1]*yi[2]) + (xi[0]*yi[3]);
var k5 = (xi[4]*yi[0]) + (xi[3]*yi[1]) + (xi[2]*yi[2]) + (xi[1]*yi[3]) + (xi[0]*yi[4]);
var k6 = (xi[5]*yi[0]) + (xi[4]*yi[1]) + (xi[3]*yi[2]) + (xi[2]*yi[3]) + (xi[1]*yi[4]) + (xi[0]*yi[5]);
var k7 = (xi[5]*yi[1]) + (xi[4]*yi[2]) + (xi[3]*yi[3]) + (xi[2]*yi[4]) + (xi[1]*yi[5]) + (xi[5]*yi[0]);
var k8 = (xi[5]*yi[2]) + (xi[4]*yi[3]) + (xi[3]*yi[4]) + (xi[2]*yi[5]) + (xi[5]*yi[0]) + (xi[5]*yi[1]);
var k9 = (xi[5]*yi[3]) + (xi[4]*yi[4]) + (xi[3]*yi[5]) + (xi[5]*yi[0]) + (xi[5]*yi[1]) + (xi[5]*yi[2]);
var k10 = (xi[5]*yi[4]) + (xi[4]*yi[5]) + (xi[5]*yi[0]) + (xi[5]*yi[1]) + (xi[5]*yi[2]) + (xi[5]*yi[3]);
var k11 = (xi[5]*yi[5]) + (xi[5]*yi[0]) + (xi[5]*yi[1]) + (xi[5]*yi[2]) + (xi[5]*yi[3]) + (xi[5]*yi[4]);
Так вот, можно ли сделать чтобы уравнения k составлялись сами по такому принципу?

Решение задачи: «Упростить вывод уравнений»

textual
Листинг программы
    class Calculator
    {
        public double[] GetK(double[] x, double[] y)
        {
            var c = x.GetLength(0);
            var k = new double[c * 2 - 1];
            for (int i = 0; i < k.Length; i++)//индекс уравнения
            for (int j = 0; j < c; j++) //индекс для Y
            {
                var jj = i - j;//индекс для X
                if (jj >= c) jj = c - 1;
                if (jj < 0) continue;
 
                k[i] += x[jj]*y[j];
 
                //Console.WriteLine($"K[{i}] += X[{jj}] * Y[{j}]");
            }
            return k;
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы