登录论坛

查看完整版本 : 一个矩阵中n是个列向量,有600个数值,要求分别把其中的最大值,最小值的一半作为正,负,阈值


chuanxia16
2008-04-08, 22:26
请问,一个矩阵中n是个列向量,有600个数值,要求分别把其中的最大值,最小值的一半作为正,负,阈值,并令大于正阈值的点为+1,小于负阈值点为-1,两者之间为0,程序是这样的,但是出不来结果,各位帮我看看.矩阵保存在mydata.mat中.谢谢
 >> load mydata;
a=1/2*max(n);
b=1/2*min(n);
if n>a
n=+1;
elseif n<b
n=-1;
else
n=0;
end
>>y

  

watcher
2008-04-08, 23:16
你可以试试对向量做不等运算,看看结果是什么。
建议将整个if语句改为:
n=(n>a)-(n<b);
应该可以达到目的。

chuanxia16
2008-04-09, 08:43
结果出来了,非常感谢,祝你好运!!!!!!