I keep getting this matrix error when I run my code, any tips how I can fix it, its line 45.
    4 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
N=10;
L=10;
D=.01;
dt=.01;
k_on=1;
k_off=.1;
F=1;
tmax=100;
x=L*rand(N,1);
y=L*rand(N,1);
state=zeros(N,1);
figure;
axis([0 L 0 L]);
set(gca,'nextplot','replacechildren');
for t = 0:dt:tmax
    dx=sqrt(2*D*dt)*randn(N,1);
    dy=sqrt(2*D*dt)*randn(N,1);
    x=x+dx;
    y=y+dy;
    x(x<0)=0;
    x(x>L)=L;
    y(y<0)=0;
    y(y>L)=L;
    p_on=k_on*dt*F;
    p_off=k_off*dt;
    for i = 1:N
        if state(i)==0
            if rand < p_on
                state(i)=1;
            end
        else
            if rand<p_off
                state(i)=0
            end
        end
    end
colors= repmat([1 0 0], N,1)
colors(state == 1,:,:) = repmat([0 1 0],sum(state),1);
scatter(x,y,50,colors,'filled');
title(sprintf('Time=%.2f',t));
drawnow;
if any(state == 1)
    p_bind=1-exp(-k_on*dt*F);
    if rand<p_bind
        [~,i]=max(state);
        state(i)=2;
        colors(i,:)=[0]
    end
end
end
Unable to perform assignment because the size of the left side is 8-by-3 and the size of the right side is 10-by-3.
colors(state == 1,:,:) = repmat([0 1 0],sum(state),1);
0 commentaires
Réponse acceptée
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

