MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   一个矩阵中n是个列向量,有600个数值,要求分别把其中的最大值,最小值的一半作为正,负,阈值 (https://www.labfans.com/bbs/showthread.php?t=2140)

chuanxia16 2008-04-08 22:26

一个矩阵中n是个列向量,有600个数值,要求分别把其中的最大值,最小值的一半作为正,负,阈值
 
请问,一个矩阵中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

回复
 
结果出来了,非常感谢,祝你好运!!!!!!


所有时间均为北京时间。现在的时间是 04:46

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