[問題] simulink matlab function 編寫問題

看板MATLAB作者 (WarmBed)時間10年前 (2015/08/05 04:08), 10年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
各位師兄好,我在製作simulink時碰上需要用到if or switch的問題 想說使用matlab funciton來解決 以下是我一部分的code 簡略: 有兩個物件,分別會根據對方的位置做相對運動,而其極限為580mm t為判別是由第一物件為主導還是第二物件為主導 y = 輸出 ------------------問題----------------- 問題: 由於在matlab function寫code時需先給變數一個值, 像是 t=3; y=3; ,而在模擬時,這個block只會輸出 t = 3; y =3; 完全不會 輸出if內的值.. 請問有方法讓 t = 3; y =3; 這兩行只輸出一次嗎?(這樣我將可以定義先由哪個 物件做主導,而後讓之後的code做循環。 補充 要是不在前面加 t = 3; y = 3; 會顯示出error Undefined function or variable 't' The first assignment to a local variable determines its class. ------------------code------------------ function y= fcn(u1,u2) t = 3; y = 3; if(u1 >570) y = 0; t = 0; end if (t==0) if (u1 > 260) y = 5; end end . . .省略 . if ( t== 1) if ( u2 > 260) y = -5; end end . . .省略 . --------END-------- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.184.163 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1438718919.A.3F3.html ※ 編輯: WarmBed (60.248.184.163), 08/05/2015 04:18:49
文章代碼(AID): #1LmHl7Fp (MATLAB)
文章代碼(AID): #1LmHl7Fp (MATLAB)