Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2007-06-17, 09:24   #1
chunxin98
初级会员
 
注册日期: 2007-06-17
帖子: 1
声望力: 0
chunxin98 正向着好的方向发展
问题 【求助】绝对新手问题,请别见笑。。

m文件
function y=fenduan(x)
if x > 0
y = 1;
elseif x == 0
y = 0;
else
y = -1;
end

控制台
x=-5:-1
.........
fenduan(x)
ans=
-1
怎么不是想像中的[-1 -1,-1, -1,-1]啊??
请教高手,,怎么处理的?
是把x看成1个矩阵,
还是1个1个求值?

怎么才能实现,1个1个求值?
chunxin98 当前离线   回复时引用此帖
旧 2007-06-17, 11:39   #2
xuanjiwei
初级会员
 
注册日期: 2007-06-17
帖子: 5
声望力: 0
xuanjiwei 正向着好的方向发展
默认

n=0;
for x=-5:-1
if x > 0
n=n+1;y(n) = 1;
elseif x == 0
n=n+1;y(n) = 0;
else
n=n+1;y(n) = -1;
end
end
开个数组,这样应该就可以了
xuanjiwei 当前离线   回复时引用此帖
旧 2007-07-10, 12:34   #3
john
初级会员
 
注册日期: 2007-07-10
帖子: 3
声望力: 0
john 正向着好的方向发展
默认

引用:
作者: chunxin98 查看帖子
m文件
function y=fenduan(x)
if x > 0
y = 1;
elseif x == 0
y = 0;
else
y = -1;
end

控制台
x=-5:-1
.....
x = -5:-1;
y = sgn(x);
john 当前离线   回复时引用此帖
旧 2007-07-15, 15:59   #4
matlaber
初级会员
 
注册日期: 2007-07-15
年龄: 38
帖子: 2
声望力: 0
matlaber 正向着好的方向发展
默认

版主没有对它存储,这是根本的问题
matlaber 当前离线   回复时引用此帖
旧 2007-07-16, 16:50   #5
geoer
初级会员
 
注册日期: 2007-07-03
帖子: 12
声望力: 18
geoer 正向着好的方向发展
默认

引用:
作者: chunxin98 查看帖子
m文件

if x > 0
y = 1;
elseif x == 0
y = 0;
else
y = -1;
end
x给的是向量当然x即不等于0,又不大于0.故y = -1.
geoer 当前离线   回复时引用此帖
旧 2007-07-16, 17:02   #6
geoer
初级会员
 
注册日期: 2007-07-03
帖子: 12
声望力: 18
geoer 正向着好的方向发展
默认

for x=-5:-1
fenduan(x)
end
geoer 当前离线   回复时引用此帖
旧 2007-07-28, 11:18   #7
wenyou
初级会员
 
注册日期: 2007-07-28
帖子: 10
声望力: 18
wenyou 正向着好的方向发展
默认

引用:
作者: john 查看帖子
x = -5:-1;
y = sgn(x);
y=sign(x)
wenyou 当前离线   回复时引用此帖
旧 2007-07-28, 11:31   #8
wenyou
初级会员
 
注册日期: 2007-07-28
帖子: 10
声望力: 18
wenyou 正向着好的方向发展
默认

y=[];n=1;
for x=-5:-1
y(n)=fenduan(x);n=n+1;end;y
wenyou 当前离线   回复时引用此帖
旧 2007-07-28, 14:28   #9
slgu
高级会员
 
注册日期: 2007-06-24
年龄: 70
帖子: 188
声望力: 21
slgu 正向着好的方向发展
默认

引用:
作者: chunxin98 查看帖子
m文件
function y=fenduan(x)
if x > 0
y = 1;
elseif x == 0
y = 0;
else
y = -1;
end
.....
function y=fenduan(x)
x=x(;m=size(x,1);
for i=1:n
if x(i)>0
y(i)=;
elseif x(i)==0
y(i)=0;
else
y(i)=-1;
end
end
slgu 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 23:40


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.