matlab Invalid expression error
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I need some help in solving the problem in this code that is:
Error: File: Automaty_komorkowe.m Line: 18 Column: 48
Invalid expression. Check for missing multiplication operator, missing or unbalanced
delimiters, or other syntax error. To construct matrices, use brackets instead of
parentheses.
This is right before:
axis square;
What should i do in this situation?
clear all
close all
n=100;
a=150;
T=400;
p=0.02;
g=0.5;
D1=ceil(a*rand(n,n));
D2=rand(n,n) < p;
D3=(rand(n,n) <= g)-1;
D4=D3 >= 0;
D= (D1.*D2).* D4+D3;
t=1
green=(D==0) | D<0;
blue= D>a | D<0;
all_colors=cat(3, red, green, blue);
image(all_colors); title(['t = ', num2str(t)]) axis square;
pause(5);
S(t) = sum(sum(D==0));
I(t) = sum(sum((D>0)&(D<=a)));
R(t) = sum(sum(D>a));
up=[2:n 1]; down=[n 1:n-1];
for t = 2:T
D1 = D(:,down);
D2 = D(:,up);
D3 = D(down,:);
D4 = D(up,:);
sick_neighbors = ((D1>0)&(D1<=a))+((D2>0)&(D2<=a)) + ((D3>0)&(D3<=a)) + ((D4>0)&(D4<=a));
stay_healthy = (D==0)&(sick_neighbors==0);
get_sick = ((D==0)&(sick_neighbors>0));
others = (D>0);
D(get_sick) = 1;
D(others) = D(others)+1;
S(t) = sum(sum(D==0));
I(t) = sum(sum((D>0)&(D<=a)));
R(t) = sum(sum(D>a));
green =(D==0) | D<0;
red =(D>0 & D<=a) | D<0;
blue = D>a | D<0;
all_colors = cat(3, red, green, blue);
image(all_colors); title(['t = ', num2str(t)])
axis square;
drawnow
end
figure
t=1:T;
plot(t,S,'green',t,I,'red',t,R,'blue')
legend('podatni','zainfekowani','odporni')
xlabel('czas')
0 commentaires
Réponses (1)
Geoff Hayes
le 6 Avr 2021
Jakub - try adding a semi-colon after
title(['t = ', num2str(t)]);
so that it is distinct from the
axis square;
Or write each command on separate lines (like you do later in the code). Note that you will see other errors as your code tries to reference the variable red which is not defined and would be cleared by the clear all.
0 commentaires
Voir également
Catégories
En savoir plus sur Characters and Strings 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!