У меня есть задача написать программу, которая вычисляет функции полиномиальной интерполяции (метод Ньютона).У меня есть код MATLAB, и я пытаюсь преобразовать его в C #.Я знаю, что в MATLAB есть различные библиотеки, которых нет в c #.
Вот код MATLAB:
% In arguments% (x,y) -interpolation points(arrays),
% t- matrix
% Out parameters
%fv-interpoliacinio polinomo reikšmės.
n=numel(x)-1; m=numel(t); [k,l]=size(t);
if k ==1
t=t';
end
[k,l]=size(x);
if k ~=1
x=x';
y=y';
end
d=y;
for k=1:n
h=x(k+1:end)-x(1:end-k);
tt=(d(k+1:end)-d(k:end-1))./h;
d(k+1:end)=tt;
end
xx=repmat(x,m,1);
dd=repmat(d,m,1);
tt=repmat(t,1,n);
p=tt-xx(:,1:end-1);
r=ones(m,1);
s=[r cumprod(p,2)];
fv=sum((dd.*s)');
и вот моя попытка c #:
public double Newton(double[,] x, double[,] y, double[,] t)
{
double n = x.Length - 1;
double m = t.Length;
int k = t.GetLength(0);
int l = t.GetLength(1);
if (k == 1)
{
for (int i = 0; i < k; i++)
{
for (int j = 0; j < l; j++)
{
t[k, l] = t[i, j];
}
}
}
int k2 = x.GetLength(0);
int l2 = x.GetLength(1);
if (k.Equals(k2))
{
//?????
}
double[,] d = y;
double[,] h;
for (int i = 0; i < k2; i++)
{
h = x[k+1]
}
}