Упростить вывод уравнений - C#
Формулировка задачи:
Всем привет! У меня такая проблема, есть два массива xi и yi
из которых я вручную вписываю данные в уравнения k
Так вот, можно ли сделать чтобы уравнения k составлялись сами по такому принципу?
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 };
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]);
Решение задачи: «Упростить вывод уравнений»
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; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д