作者WarmBed (WarmBed)
看板MATLAB
标题[问题] simulink matlab function 编写问题
时间Wed Aug 5 04:08:37 2015
各位师兄好,我在制作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://webptt.com/cn.aspx?n=bbs/MATLAB/M.1438718919.A.3F3.html
※ 编辑: WarmBed (60.248.184.163), 08/05/2015 04:18:49