2016-04-27 6 views
0

У меня возникли проблемы при попытке построить эти два таймсерий друг против друга:Matlab ошибка таймсерия участок

subplot(2,2,3),plot(wrm,Te);title('Speed-Torque curve'); 
xlabel('wrm [rad/s]');ylabel('Te[Nm]') 
axis([-5 10 20 200]); 
grid; 

Он поставляется с погрешностью

Error using plot 
A numeric or double convertible argument is expected 

Error in timeseries/plot (line 163) 
p = plot(ax,Time,Data,varargin{:}); 

Я попытался изменить " to workspace "в simulink от 1x1 двойного раза к массивам, и это, кажется, позволяет мне строить, но график только для Те становится неправильным.

Все остальные сюжеты, которые я создаю, я не могу следить за форматом графика (время, yvariable), поскольку он дает ту же ошибку, поэтому я просто использовал сюжет (yvariable), который работал до сих пор.

Любая помощь будет оценена по достоинству. Благодаря!

ответ

0

С вашего вопроса я не понимаю, что именно вы пытаетесь сделать. Если вы пытаетесь построить элементы данных два timeseries объектов по отношению друг к другу, используйте

plot(wrm.Data, Te.Data); 

Если вы черчение элементов данных, вы, конечно, нужно, чтобы убедиться, что эти векторы имеют одинаковую длину. Если это не так, вы могли бы использовать что-то вроде

Te2 = resample(Te2, wrm.Time); 

Если вы хотите построить и в зависимости от времени, а не использовать

plot(wrm); hold on; plot(Te); 

Или, как я хотел бы сделать:

wrm.plot(); hold on; Te.plot(); 
+0

Hi , Спасибо за ответ! Вы правы в том, что я пытаюсь построить два таймера друг против друга. Я могу сейчас заставить работать с завязкой wrm vs Te, я думаю, что проблема была в длине. Только проблема, с которой я сталкиваюсь сейчас, заключается в том, что я не могу построить график Te с помощью подзаголовка, может быть, это проблема изменения переменной в массиве? – LxBru