How could I plot this function ( I =A* sum( ( (dt.^2)*(B.^2) )/(C.^2) ) with time please? I am getting just a constant line while I expect to get a curve because it is a function of time.
1 view (last 30 days)
Show older comments
I am working with this code but it does not give me the result that I expect :
function RunFisherfixedb
x0=[12 5];
dt = 0.055;
t=(0:dt:1);
n=length(t);
Iall=zeros(1,n);
for i = 1:n
I = Fisherfixedb(t,x0,A,dt);
Iall(i)=I;
end
figure(01)
plot(t,Iall,'k')
xlabel('Time')
ylabel('Fisher Information')
title('Average Fisher information in Two-species predator-prey model')
1;
% function I = Fisherfixedb(t,x,A,dt)
% a1 = 15*x(1) - 3*x(1)*x(2);
% b1 =-5*x(2) + 0.5*x(1)*x(2);
% C= (a1.^2) + (b1.^2);
% B = ( (a1.*(15-3*x(2))+b1.*(.5*x(2))).*a1 ) + ( (a1.*(-3*x(1))+ b1.*(-5+.5* x(1))).*b1);
% I = A*sum( (dt.^2)*((B.^2)/(C.^2)));
end
Accepted Answer
Guillaume
on 11 Sep 2014
t is not used by your function Fisherfixeddb and all the other terms are constant, so of course, you get a constant line.
Fix your function to use t.
Note that you probably have a warning in the editor window precisely telling you that t is unused. Warnings are useful.
0 Comments
More Answers (0)
See Also
Categories
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!