一個有趣的(也可能是簡單的)你所有的問題,我有兩個數組,我需要確定實際最小值(即最接近零的值)和實際最大值(即離零最遠的值),而不管該值是否是積極的還是消極的。從MatLAB中的數組中獲得最接近零的值?
要做到這一點,我計算了positive_max和positive_min,還有negative_max和negative_min如下圖所示...
test = [3, 4, -2, -7, 6];
positive_min = min(test(test>=0)); %Should be 3
positive_max = max(test(test>=0)); %Should be 6
negative_max = min(test(test<=0)); %Should be -7
negative_min = max(test(test<=0)); %Should be -2
麻煩的是,我現在需要比較positive_min到negative_min來查看哪一個最接近於零,以及將positive_max與negative_max進行比較以查看哪一個距離零最遠。我似乎無法弄清楚如何做到這一點...
我將不勝感激任何幫助!
謝謝,使用您的解決方案與這些組合if語句給了我想要的結果...'如果((ABS(negative_max))> = positive_max) 最大= negative_max; %應該是-7 否則 max = positive_max; ((abs(negative_min))<= positive_min) end 如果((abs(negative_min))<= positive_min) min = negative_min; %應該是-2 否則 min = positive_min; 結束' – Sammio2 2011-04-06 16:23:19
我沒有顯示計算出最接近於零(-2)的值和距離零(-7)最遠的值,這就是我所理解的問題所在:「我需要確定實際最小值(即值最接近於零)以及實際最大值(即距離零最遠的值),而不管該值是正值還是負值。' – 2011-04-06 16:25:37
順便提一句,在評論中創建名爲'min'和'max'的變量是一個壞主意,因爲這些將與內置的MATLAB函數相沖突。 – 2011-04-06 16:27:42