function [a] = Int_Force(x,x1,x2,u1,u2,rRep,rAli,rAtt)
r = x1-x2;
v = u1-u2;
if
((0 <= r) && (r < rRep));
g = -1;
end
if
((rRep <= r) && (r < rAli));
g = 0;
end
if
(rAli <= r) && (r <= rAtt));
g = 1;
end
a = (1/x-1)*Sum(g*r/norm(r)) + (1-mod(g)*(v/norm(v)));
end
您好,对不起我今年是Matlab的新手,这是我第一次使用本网站,如果我不清楚,请道歉。我试图根据运动矢量之间的相互作用力创建一个函数。我的'if'语句遇到错误,特别是前2个而不是最后一个,错误消息说'在IF处出现Parce错误:用法可能是无效的MATLAB语法'。有谁知道我怎么解决这个问题? 干杯, 丹。
答案 0 :(得分:0)
在if语句之后摆脱半冒号。您可以查看有效的if语句语法here
function [a] = Int_Force(x,x1,x2,u1,u2,rRep,rAli,rAtt)
r = x1-x2;
v = u1-u2;
if (0 <= r) && (r < rRep)
g = -1;
end
if (rRep <= r) && (r < rAli)
g = 0;
end
if (rAli <= r) && (r <= rAtt)
g = 1;
end
a = (1/x-1)*Sum(g*r/norm(r)) + (1-mod(g)*(v/norm(v)));
end