How do I solve this error 'Subscripted assignment dimension mismatch.'
조회 수: 1 (최근 30일)
이전 댓글 표시
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
채택된 답변
Star Strider
2014년 8월 29일
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
Star Strider
2014년 8월 29일
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.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 General Applications에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!