HELP: 'Error: Function definitions are not permitted in this context.'
3 次查看(过去 30 天)
显示 更早的评论
I'm new to matlab just for you to know.
I'm getting this error on this function:|
function [dydt]=deriv(t,y,a,b,u,df,dr,Fn)
dydt=zeros(2,1);
alphaf=(y(2)+a*y(1))/u-df; % Slip Angle Front [rad]
alphar=(y(2)-b*y(1))/u-dr; % Slip Angle Rear [rad]
tire_model(niu,Calpha,alphaf,alphar,Fn) % Lateral Forces [N]
dydt(1)= (1/Izz)*(Fyf*a-Fyr*b); % Yaw Acelaration
dydt(2)= (1/M)*(Fyf+Fyr)-u*y(1); % Lateral Acelaration
end
a,b,u,df,dr,Fn are defined in the main script, I noticed that if I define them inside this function it works, but that's not what I pretend.
Thanks in advance
0 个评论
采纳的回答
Azzi Abdelmalek
2013-11-15
编辑:Azzi Abdelmalek
2013-11-15
If a,b,u,df,dr and Fn are used by your function, you need to define them inside your function, or define them as input arguments.
2 个评论
Azzi Abdelmalek
2013-11-15
When you call the function, with ode45 for example:
[t,y]=ode45(@(t,y),deriv(t,y,a,b,u,df,dr,Fn),tspan,IC)
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!