matlab - 如何在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)');
解决方案
推荐阅读
- redux - 需要编写一个 reducer 来添加具有多个对象的新想法元素
- web-crawler - Tika Parser 减慢 StormCrawler
- php - WordPress 插件 - 页面 URL 列表的表格输出
- angular - 如何在 Karma for Angular 中使用 Froala 编辑器测试组件?
- slf4j - 多个 SLF4J 绑定,如何找到有问题的依赖项
- xcode - 如何成功地将我的默认合并工具实用程序更改为 opendiff
- javascript - 是否可以将 Java 脚本文件排列到“名称空间”中以避免冲突?
- azure - 当链接模板存储在本地而不是在云端时如何创建ARM链接模板
- sas - SAS---采用滞后功能
- amazon-web-services - Cloudbreak 的优势和局限性