首页 > 解决方案 > 如何在MATLAB中用双值在matlab中声明分段函数?

问题描述

我写了一个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)');

标签: matlab

解决方案


推荐阅读