Error using plot Vectors must be the same lengths.
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
So my code will run just fine when I first boot up MatLab. But if I try to run it again, I always get this message "Error using plot Vectors must be the same lengths." Is this a computer memory issue on my end or something?
MatLab Version: 8.1.0.604 (R2013a)
t=[0 .3 .5 .75 .95 .99];
for i = 1:length(t)
A = [0.0 0.0 .42;.6 0.0 0.0;0.0 0.75 t(i)];
[v,lambda] = eig(A);
lambdavector = max(lambda);
for y = 1:length(lambdavector)
if max(max(abs(lambda))) == abs(lambdavector(y))
loc = y;
deig = lambda(y,y);
end
end
normv(:,i) = v(:,loc)/sum(v(:,loc));
end
c = normv(1,:);
y = normv(2,:);
a = normv(3,:);
figure
plot(t,c,'b.-',t,y,'g.-',t,a,'r.-')
xlabel('Adult Survival Rate')
ylabel('Equilibrium Population')
title('Adult Survival Changed')
legend('Calves','Yearlings','Adults')
0 Commenti
Risposta accettata
Azzi Abdelmalek
il 10 Nov 2013
Modificato: Azzi Abdelmalek
il 10 Nov 2013
Maybe some previous result are interfering with your code, try this
clear
t=[0 .3 .5 .75 .95 .99];
for i = 1:length(t)
A = [0.0 0.0 .42;.6 0.0 0.0;0.0 0.75 t(i)];
[v,lambda] = eig(A);
lambdavector = max(lambda);
for y = 1:numel(lambdavector)
if max(abs(lambda(:))) == abs(lambdavector(y))
loc = y;
deig = lambda(y,y);
end
end
normv(:,i) = v(:,loc)/sum(v(:,loc));
end
c = normv(1,:);
y = normv(2,:);
a = normv(3,:);
figure
plot(t,abs(c),'b.-',t,abs(y),'g.-',t,abs(a),'r.-')
xlabel('Adult Survival Rate')
ylabel('Equilibrium Population')
title('Adult Survival Changed')
legend('Calves','Yearlings','Adults')
Some of your data are complex numbers, I replaced them by their modulus
You can also replace max(max(A)) by max(A(:))
2 Commenti
Peyman
il 16 Mar 2014
I had a similar issue. I ran the code after about a week and this error showed up. I just added "clear" at the beginning of each section of my code and it worked again.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Graphics Object Programming in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!