matlab区间函数怎么实现
假如在0-2s内y=0。在2-4s内,y=2t-4。在4-6s内,y=8-t。怎么表示啊 单独写一个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 自己写一个函数就好了,很简单! 本帖最后由 leichen 于 2011-6-2 15:08 编辑
回复 2# yuanzhch
我试着运行但是有错误
??? Input argument "t" is undefined.
Error in ==> f at 2
if t>=0 && t<2 回复 3# 杨德昌
以前没接触过,虽然简单但还是磨叽好久了 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:29 编辑
回复 6# yuanzhch
我的函数曲线应该是
但按你的程序出来却是
感觉只有y=t-8这条,前面两段没有了。。。你的程序有点小错误,逻辑与是&而不是&&。我用的是2009a版本的matlab。 回复 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); 这个比较简单1
页:
[1]
