8023ly 发表于 2010-9-26 14:24

分段函数

用 MATLAB 语言实现下面的分段函数
function y=fenduan(x)
if x>D
    fenduan(x)=h
elseif x>=-D
fenduan(x)=h/(D*x)
else
   fenduan(x)=-h
end

请问我这样编哪里错了?
每次运行错误提示为:
??? Input argument "x" is undefined.

Error in ==> fenduan at 2
if x>D

qibbxxt 发表于 2010-9-26 14:28

回复 8023ly 的帖子

1.算法的逻辑是不是有点问题
2.基础性的错误,建议看相关教材
3.分段函数也可以用f.*(x<1)+g.*(x>=1),等写法表示

8023ly 发表于 2010-9-26 14:35

回复 qibbxxt 的帖子

实话说我的程序编写基础是很差的,不知道怎么提高。。。

beyondhxf 发表于 2010-9-26 14:36

回复 8023ly 的帖子

function y=fenduan(x,D,h)
if x>D
    y=h
elseif x>=-D
y=h/(D*x)
else
   y=-h
end

8023ly 发表于 2010-9-26 14:39

回复 beyondhxf 的帖子

原来是函数定义这里错了,我还一直在地下找原因。。。谢谢啦{:{02}:}

8023ly 发表于 2010-9-26 15:26

回复 8023ly 的帖子

请问怎样编一个程序用来批量处理矩阵的相加呢?

Happy99 发表于 2010-9-26 17:50

LZ注意下控制发言, 真想切换另一id处罚下:@)

8023ly 发表于 2010-9-26 18:45

回复 Happy99 的帖子

我是新生嘛。。。一不小心就发了好多错的了{:{42}:}

8023ly 发表于 2010-9-26 18:45

回复 Happy99 的帖子

怎样把那些删掉呢?

雪缘 发表于 2010-9-26 22:25

8023ly 发表于 2010-9-26 18:45 static/image/common/back.gif
回复 Happy99 的帖子

怎样把那些删掉呢?

已经删除

雪缘 发表于 2010-9-26 22:27

8023ly 发表于 2010-9-26 15:26 static/image/common/back.gif
回复 8023ly 的帖子

请问怎样编一个程序用来批量处理矩阵的相加呢?

matlab支持矩阵相加

如果两个矩阵维数一致,可以直接用加号相加

Happy99 发表于 2010-9-26 23:18

怎感觉LZ要的是如下, 不然不仅不连续且有一奇异点(sigular)function y=fenduan(x,D,h)
if x>D, y=h;
elseif x>=-D, y=h/D*x;
else y=-h;
end

8023ly 发表于 2010-9-27 12:10

回复 雪缘 的帖子

这个我倒是知道的,我想知道要编写这个程序的思想。感觉自己好像会,又不会。。。{:{45}:}

8023ly 发表于 2010-9-27 12:11

回复 Happy99 的帖子

对,我昨天也看了下题目,发现抄错了。。。谢谢指出!{:{36}:}

8023ly 发表于 2010-9-27 12:12

回复 雪缘 的帖子

是不是自己不能删除? 还要麻烦你过来删除啊?{:{43}:}
页: [1] 2
查看完整版本: 分段函数