Borrar filtros
Borrar filtros

Getting an error "Matrix Dimension must agree" in matlab program. Help me.

3 visualizaciones (últimos 30 días)
for epsilon3=-1:1:1
N_dash(1)=-0.5+epsilon3;
N_dash(2)=-2*epsilon3;
N_dash(3)=0.5+epsilon3;
end
for i=-1:1:1
epsilon3=(i)
lx=(epsilon3-0.5)*x(1)-(2*epsilon3)*x(2)+(epsilon3+0.5)*x(3);
mx=(epsilon3-0.5)*y(1)-(2*epsilon3)*y(2)+(epsilon3+0.5)*y(3);
nx=(epsilon3-0.5)*z(1)-(2*epsilon3)*z(2)+(epsilon3+0.5)*z(3);
%%Jacobian Factor
s=sqrt(((lx)^2)+(((mx)^2)+(((nx)^2))));
end
%%Tangent vector (ey) about y dirsction ly=(x(5)-x(2)); my=(y(5)-y(2)); ny=(z(5)-z(2));
lve=sqrt(((ly)^2)+((my)^2)+((ny)^2)); %%vertical length of element ey = [ly; my; ny] / lve; for i=1:8 B_matrix(1,i)=1/s*repmat(N_dash, 3, 1) .* repelem(ey, 3, 1) %(ERROR HERE)
end
x,y,z are constant values like 0.2132,0.9876 etc.
Error using .*
Matrix dimensions must agree.
Error in practisee2 (line 309)
B_matrix(1,i)=1/s*repmat(N_dash, 3, 1) .* repelem(ey, 3, 1)

Respuestas (1)

Haritha
Haritha el 23 de Oct. de 2018
Hi Try this B_matrix(1,i)=1/s.*repmat(N_dash, 3, 1) .* repelem(ey, 3, 1)
  5 comentarios
Virajan Verma
Virajan Verma el 24 de Oct. de 2018
N_dash has size 3x3 and ey 9x1. What can i do to make their size the same??
Torsten
Torsten el 24 de Oct. de 2018
If N_dash has size 3x3, then repmat(N_dash,3,1) will produce an error. If ey has size 9x1, then repelem(ey,3,1) has size 27x1. No chance for elementwise multiplication.
And note again that the right-hand side ... of an assignment of the form
B_matrix(1,i) = ...
must have size 1x1.
Best wishes
Torsten.

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by