How do I solve this error 'Subscripted assignment dimension mismatch.'
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi, guys please can someone help me resolve why the below code returns the above mentioned error.
N = 100;
z1 = zeros(1,N);
z = meshgrid(z1);
p = meshgrid(z1);
for ii=1:length(aa)
xn=linspace(-aa(ii),aa(ii),N); yn=linspace(-bb(ii),bb(ii),N);
for i=1:length(xn)
for j=1:length(yn)
z(i,j) = (1 - (xn(i)/aa(ii))^2 - (yn(j)/bb(ii))^2);
if z(i,j)<0
z(i,j)=0;
end
p(i,j) = 1.5.*F_N.*(pi*aa(ii)*bb(ii))^-1*sqrt(z(i,j));
end
end
end
2 commentaires
Réponse acceptée
Star Strider
le 29 Août 2014
I’m guessing this line is throwing the error and it is because ‘F_N’ isn’t a scalar:
p(i,j) = 1.5.*F_N.*(pi*aa(ii)*bb(ii))^-1*sqrt(z(i,j));
2 commentaires
Star Strider
le 29 Août 2014
That’s the reason you’re getting the error. Change ‘p’ to:
p(i,j,:) = 1.5.*F_N.*(pi*aa(ii)*bb(ii))^-1*sqrt(z(i,j));
(a three-dimensional matrix) to accommodate ‘F_N’ as a vector, or change ‘F_N’ to ‘FN’ to keep it as a two-dimensional matrix (your current p(i,j)). Either will stop the line from throwing the error. Your choice.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical 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!