Как объявить кусочную функцию в MATLAB с двойным значением в MATLAB? - PullRequest
0 голосов
/ 14 апреля 2019

Я написал функцию y, которая в основном является кусочной функцией. Когда я вызываю функцию со значением x(t), которая принимает двойные значения, а затем пытаюсь построить свою функцию, я получаю эту ошибку:

Ошибка при использовании графика
Данные должны быть числовыми, с указанием даты, времени, продолжительности или массива, который можно преобразовать в удвоение.

Что я делаю не так?

Моя функция:

function y = func1(x)
syms x t
y = piecewise(x<-2, -2, -2<x<2, x, x>2, 2);
end

А вот как я использую эту функцию:

N=1000;
t=linspace(0,10,N+1);
t(end)=[];
x1=(3*sin(2*pi*t/4)+0.5*cos(2*pi*6*t));

y= func1(x1);
figure;hold on; grid on;
plot(t,x1,'b','LineWidth',2)
plot(t,y,':r','LineWidth',2)
legend('x(t)','y(t)');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...