Need help to run this code
1 次查看(过去 30 天)
显示 更早的评论
Hi Friends,
I need your help!!!
When I try to run this code, the following message appeared:
Undefined function 'FDE_PI1_Ex' for input arguments of type 'function_handle'.
Error in Example (line 15)
[t, y] = FDE_PI1_Ex(alpha,f_fun,t0,T,y0,h,param).
Can you please help me to run this?
alpha=[0.8];
w=1.2;N=10000;E1=1.2;E2=1.3;D=1.3;k1=2.1;k2=2.3;k3=1.5;k4=1.5;c=1.8;r1=1.3;r2=1.2;l=0.006170;
param=[w,N,E1,E2,D,k1,k2,k3,k4,c,r1,r2,l];
f_fun=@(t,y,par)[
w*N-(par(1)/N)*(E1*par(3)+E2*par(4))-w*par(1);
(par(1)/N)*(E1*par(3)+E2*par(4))-(D+k1)*par(2);
c*D*par(2)-(r1+k2)*par(3);
(1-c)*D*par(2)-(r2+k3)*par(4);
r1*par(3)+r2*par(4)-(l+k4)*par(5);
l*par(5)-w*par(6)];
t0=0;T=50;
y0=[1.2;2.8;1.2;2.8;1.2;2.8];
h=2^(-5);
%%%%%%%%%%%%%%%%%%%%%%%%%%
[t, y] = FDE_PI1_Ex(alpha,f_fun,t0,T,y0,h,param);
figure(1)
plot(t,y(1,:)) ;
xlabel('t') ; ylabel('S(t)') ;
%legend('x(t)') ;
%title('PI1');
0 个评论
回答(1 个)
Star Strider
2020-9-27
To use a function handle in a calculation, it is necessary to evaluate the function so it will be replaced by the numeric output of the function:
[t, y] = FDE_PI1_Ex(alpha,f_fun(t,y,par),t0,T,y0,h,param);
Of course, ‘t’, ‘y’,and ‘par’ (or whatever you intend to pass to ‘f_fun’) must already exist in your workspace.
2 个评论
Star Strider
2020-9-27
You have to supply the correct variables to be passed to ‘f_fun’. I have no idea what they are, or what you are doing (or for that matter, what your code does). All I did was identify the problem and tell you how to correct it.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Argument Definitions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!