关于matlab定义分段函数的一个简单问题

我想定义一个分段函数y=exp(n) n>=0
y=0 n<0
我编写的函数M文件如下
function [ y ] = danbianzhishu( x )
if x>0
y=exp(x);
else
y=0;
end
然后运行的时候我定义一个数组n=-3:3
x=dianbianzhishu(n)
得到的结果为0 这是为什么呢?
x不是应该输出一组数吗 求高手解答啊 感激不尽

我觉得应该这样:
function Y=danbianzhishu(X)
n=length(X);
Y=[];
for i=1:n
if X(i)>0
Y=[Y,exp(X(i))];
else
Y=[Y,0];
end
end
你写的程序,对于单个数值应该是正确的,输入参数如果是向量的话,是会错误的追问

对啊对啊 我就是输入单个值得时候是正确的 输入数组的时候是有问题的
请问n=length(x)是什么意思?
Y=[];是什么意思

追答

n=length(x):获得X向量的长度
Y=[]:建立一个空矩阵

温馨提示:答案为网友推荐,仅供参考
相似回答