메신저가 matlab에서 실행될 것인지 확실하지 않은 메신저, im은 점, 함수 및 lagrange aproximation을 그려주는 간단한 lagrange 다항식을 수행하려고 시도하므로 다음을 수행했습니다.부적합한 인수 lagrange 다항식 (옥타브)
X의 벡터를 사용하는 경우 내가 시도하고 예를 들어, 라그랑주에 대한 평가되는 경우에만 나타나는 "준수하지 않는 인수 (OP1은 1x41이며, OP2는 1x41입니다) 연산자 *는"(3clear all
clc
function [y] = lagrange(x, x0, y0)
n = size(x0,1);
y = 0;
for i=1:n
p = 1;
for j=1:n
if j == i % avoiding division by 0
continue;
endif;
p *= (x-x0(j))/(x0(i)-x0(j));
endfor;
y += y0(i) * p;
endfor;
endfunction;
x=[0:0.1:5];
x0=[2;2.75;4];
y0=[1/2;1/2.75;1/4];
y=lagrange(x,x0,y0);
나는 다음과 같은 문제를, 데 , x0, y0) 함수가 올바르게 작동하고 문제가 없으면 x에 더 큰 벡터를 사용할 때 문제가 발생합니다.
S o 내 질문은 거기에 더 큰 벡터 x 함께 작동하는 함수를 수정할 수있는 방법입니다 또는 함수에서 큰 벡터 직접 사용하지 않고 함수를 플로팅 할 수있는 방법이 있습니까?
오류가 발생한 행을 알려 주시면 도움이됩니다. 나는 오류 메시지가 당신에게 말해야한다고 생각한다. 내 추측은 'p * ='라인에서 발생합니다. 부적합한 인수가 두 가지가 같은 크기 인 문제를 가지려면 행렬 곱셈이되어야합니다.이 곱셈은 m x n n p가 필요합니다. –
아, 그래, 미안해. 예, 오류가 'p * ='라인에 있었어. – Zigisfredo