Help vectors size doesn't match...why?

4 ビュー (過去 30 日間)
cakey
cakey 2014 年 10 月 23 日
コメント済み: cakey 2014 年 11 月 16 日
This is my code to evaluate Lagrange where x_in are the given interpolation points and x_out is suppose to be f(x_in), but it keeps saying x_in and x_out don;t have the same vector length
x = -1:50;
y = 1.0 ./ (1+9*x.^2);
x_in=linspace(-1,1,100);
x_out=(1.0) ./ (1+9*(x_in).^2);
y_out=make_Ln(x,x_in,x_out);
plot(x,y,':',x_in,y_out,'*');
title('Lagrange Interpolation:x_in=linspace(-1,1,100)')
legend('y','Interpolation');
figure;
  6 件のコメント
cakey
cakey 2014 年 10 月 23 日
Sorry it is this one:
y_out=make_Ln(x,x_in,x_out)
n=size(x_in,2);
L=ones(n,size(x,2));
if (size(x_in,2)~=size(x_out,2))
fprintf(1,'x_in and x_out must have same elements');
y=NaN;
else
for i=1:n
for j=1:n
if (i~=j)
L(i,:)=L(i,:).*(x-x_in(j))/(x_in(i)-x_in(j));
end
end
end
y=0;
for i=1:n
y_out=y_out+x_out(i)*L(i,:);
end
end

サインインしてコメントする。

採用された回答

Julia
Julia 2014 年 10 月 23 日
Hi,
x_in and x_out have the same length (100).
x and y are shorter (52), but I don't know if this bothers your function make_Ln().
I suppose y_out and x_in do not match, but without knowing your function make_Ln() I cannot say more.
To plot x_in and x_out is no problem
plot(x,y,':',x_in,x_out,'*')
  7 件のコメント
cakey
cakey 2014 年 11 月 16 日
Thank you!

サインインしてコメントする。

その他の回答 (0 件)

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by