МАТЛАБ - Почему это не работает? - PullRequest
0 голосов
/ 10 декабря 2011

Я в тупике.Что происходит с синтаксисом MATLAB?

clear all;

dx = .1;
x=-2:dx:2;
f=zeros(length(x),1);
int_f=zeros(length(x),1);
for n=1:length(x)
    f(n)=x(n).^2;
    int_f(n) = f(n)*dx+int_f(n);
end
plot(x,int_f(n));

Ответы [ 2 ]

6 голосов
/ 10 декабря 2011

Я думаю, что вы должны построить график, используя plot(x,int_f); таким образом, чтобы вы построили два массива, а не один массив против одного единственного числа.

Также ваш интегральный шаг неверен, он должен быть int_f(n) = f(n)*dx+int_f(n-1), за исключениемдля первого запуска, где оно должно быть int_f(n) = f(n)*dx

2 голосов
/ 10 декабря 2011

Поскольку в plot(x,int_f(n));, x является вектором строки, а int_f(n) является скалярным значением.Вы должны построить вектор против вектора.

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