خطای Matrix dimensions must agree در متلب
خطای Matrix dimensions must agree زمانی نمایش داده می شود که قصد داشته ایم عملیاتی را بر روی دو ماتریس غیر هم اندازه انجام بدهیم، اما آن عملیات نیازمند آن بوده است که اندازه دو ماتریس، برابر باشد.
به مثال زیر توجه کنید :
clear all
close all
clc
A=2;
B=[3 5];
C=A/B
close all
clc
A=2;
B=[3 5];
C=A/B
نتیجه :
??? Error using ==> mldivide
Matrix dimensions must agree.
Error in ==> program at 8
C=A/B
Matrix dimensions must agree.
Error in ==> program at 8
C=A/B
دو روش را برای درست عمل کردن کد بالا، معرفی می کنیم :
روش اول (روش ساده تر) : استفاده از علامت نقطه که بیانگر این است که عملگر بعد از آن، برای تک تک عناصر ماتریس، به کار رود.
کدها را به صورت زیر می نویسیم :
clear all
close all
clc
A=2;
B=[3 5];
C=A./B
close all
clc
A=2;
B=[3 5];
C=A./B
نتیجه :
C =
0.6667 0.4000
0.6667 0.4000
روش دوم : استفاده از حلقه for
کدها را به صورت زیر می نویسیم :
clear all
close all
clc
A=2;
B=[3 5];
for nn=1:2
C(nn)=A/B(nn);
end
C
close all
clc
A=2;
B=[3 5];
for nn=1:2
C(nn)=A/B(nn);
end
C
نتیجه :
C =
0.6667 0.4000
0.6667 0.4000
دسته بندی
خطاهای رایج، در متلب (MATLAB)
نظرات 0 0 0