[問題] simulink matlab function 編寫問題
各位師兄好,我在製作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
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章