Ошибка при использовании ==> plot Векторы должны быть одинаковой длины - PullRequest
0 голосов
/ 05 декабря 2011

Итак, у меня есть следующие две функции:

delta_t=T/N_time; 
delta_x=1/N_space; 
rho=delta_t/delta_x^2;
phi=zeros(N_space+1,N_time+1);
phi(:,1)=initial_condition((0:N_space)*delta_x);
for j=1:N_time;
    for i=2:N_space;
    phi(i,j+1)=rho*(phi(i-1,j)+phi(i+1,j))+(1-2*rho)*phi(i,j);
    end;
end;
phi = phi(end,:);
end

Когда я запускаю вторую функцию, я получаю эту ошибку:

Ошибка при использовании ==> plot Векторы должны быть одинаковой длины.

Я не знаю, почему размеры разные.Они должны быть одинаковыми, так как вторая функция вызывает первую функцию.Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 05 декабря 2011

Я думаю, что у тебя как-то транспонировано.Ваш x_var является вектором 1 x (N_space + 1), ваше фи (N_space + 1) x (N_time + 1), и вы возвращаете phi(end, :), что будет 1 x (N_time + 1).Вы хотели вернуть phi (:, end)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...