leichen 发表于 2011-6-1 00:01:33

matlab区间函数怎么实现

假如在0-2s内y=0。在2-4s内,y=2t-4。在4-6s内,y=8-t。怎么表示啊

yuanzhch 发表于 2011-6-1 09:05:40

单独写一个m文件就可以了
function y=f(x,t)
if t>=0 && t<2
   y=0;
elseif t>=2 && t<4
   y=2*t-4;
else y=8-t;
end
end

杨德昌 发表于 2011-6-1 15:49:15

自己写一个函数就好了,很简单!

leichen 发表于 2011-6-2 14:50:58

本帖最后由 leichen 于 2011-6-2 15:08 编辑

回复 2# yuanzhch


    我试着运行但是有错误

??? Input argument "t" is undefined.
Error in ==> f at 2
if t>=0 && t<2

leichen 发表于 2011-6-2 14:52:01

回复 3# 杨德昌


    以前没接触过,虽然简单但还是磨叽好久了

yuanzhch 发表于 2011-6-2 18:44:50

function y=f(t)
if t>=0 && t<2
   y=0;
elseif t>=2 && t<4
   y=2*t-4;
else y=8-t;
end
end
保存,文件名为f.m
在命令行输入:
t=0:5;
y=f(t);
plot(t,y);

leichen 发表于 2011-6-2 19:27:26

本帖最后由 leichen 于 2011-6-2 19:29 编辑

回复 6# yuanzhch


    我的函数曲线应该是

但按你的程序出来却是

感觉只有y=t-8这条,前面两段没有了。。。你的程序有点小错误,逻辑与是&而不是&&。我用的是2009a版本的matlab。

yuanzhch 发表于 2011-6-3 13:03:21

回复 7# leichen

这个f.m函数的输入值只能是一个数,不能是向量。上一贴忽略了。
可以这样
   t=0:0.1:5;
   n=size(t,1);
   for i=1:n
   y(i)=f(t(i));
   end
   plot(t,y);

mingyu 发表于 2011-6-20 07:46:09

这个比较简单1
页: [1]
查看完整版本: matlab区间函数怎么实现

招聘斑竹