我有一個基於以下函數的問題。如果條件爲false,如何返回NaN或空矩陣。如何在條件爲假的情況下返回NaN或空矩陣
下面的函數實際檢查Anchor ID和Source ID是否存在,如果存在這樣的組合,它會在循環內部進一步檢查Anchor Channel和Source Channel是否存在(如果存在),那麼它將計算「y」上。但是如果Anchor Channel和Source Channel不存在這種情況呢?還要考慮Anchor ID和源ID不存在的情況!如果它不存在,那麼我希望它返回到NaN或者只是零。
如何修改此功能符合我的要求?
function [rssi_dBm1]= sampletrue(BlinkSetList,AnchorID,SourceID)
for i=1:length(BlinkSetList)
S=cell2mat(BlinkSetList(i));
for j=1:length(S)
if S(j).AnchorID==AnchorID && S(j).SourceID==SourceID
if S(j).AnchorChan==0 && S(j).SourceChan==0
y=S(j).agc;
rssi_dB1(i)= -(33+y*(89-33)/(29-1));
else
rssi_dB1(i)=NaN;
end
end
end
end
rssi_dB1(rssi_dB1==0)=[];
rssi_dBm1=sum(rssi_dB1(:))/length(rssi_dB1);
disp([sprintf('The rssi value with A-Chan 0 and S-Chan 0 is %0.0f',rssi_dBm1)]);
注意:這只是條件的一部分,錨點通道和源通道還有三個組合需要評估。
如果問題仍然不清楚,請發表您的疑問,我會盡力更準確地解釋它。
非常感謝您的幫助。提前致謝。
什麼是函數聲明行('function ...'語句)? – Shai 2013-04-23 09:44:19
@Shai看看編輯過的版本。現在有意義 – 2013-04-23 09:58:00