我想獲得一個簡單的elseif語句進入IDL,並且有一段時間。 matlab代碼看起來像這樣。idl elseif問題/混淆
a = 1
b = 0.5
diff = a-b
thres1 = 1
thres2 = -1
if diff < thres1 & diff > thres2
'case 1'
elseif diff > thres1
'case 2'
elseif diff < thres2
'case 3'
end
但是,IDL代碼並不那麼簡單,而且我有麻煩的語法正確。幫助國: 語法 IF表達式THEN語句[ELSE聲明】 或 IF表達然後開始 聲明 ENDIF [ELSE BEGIN 聲明 ENDELSE]
但犯規就如何使用多個表達式的例子, ELSEIF。我已經嘗試了很多變化,並且似乎無法做到。
任何人都有建議嗎?這裏有一些我嘗試過的東西:
if (diff lt thres1) and (diff gt thres2) then begin
print, 'case 1'
endif else begin
if (diff gt thres1) then
print, 'case 2'
endif else begin
if (diff lt thres2) then
print, 'case 3'
endif
if (diff lt thres1) and (diff gt thres2) then begin
print, 'case 1'
else (diff gt thres1) then
print, 'case 2'
else (diff lt thres2) then
print, 'case 3'
endif
如果任何值等於閾值,沒有的情況下,將被執行 –
是的,你是正確 我應該說,這不是導致我問題的邏輯,而是實際的語法,IDL不會編譯和運行代碼考試我正在展示。 – nori