Вопрос:

Векторы должны быть одинаковой длины в Matlab

matlab

300 просмотра

1 ответ

5 Репутация автора

Я хочу построить график, f(x)=5xcos(x)-xи это первая производная на том же графике для -2pi <= x <= 2pi с использованием MATLAB. Но я получаю следующую ошибку:

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

y1 = 5.*x.*cos(x)-x;
y2 = diff(y1);
plot(x,y1,'-',x,y2,'-*')

что я должен делать?

Автор: user7670190 Источник Размещён: 13.04.2017 03:51

Ответы (1)


1 плюс

55498 Репутация автора

Решение

diffпринимает попарную разницу между последовательными элементами и поэтому на 1 элемент короче входного вектора. В результате, если вы хотите построить его, вам нужно либо добавить (или добавить) a, 0либо просто построить с одним меньшим x

plot(x, y1, '-', x, [0, y2], '-*')

% OR
plot(x, y1, '-', x(1:end-1), y2, '-*')
Автор: Suever Размещён: 13.04.2017 03:54
Вопросы из категории :
32x32