rcty
rcty

Reputation: 737

I am not able to figure out how to carry out the Matrices multiplication in matlab

I have to carry out the following operation

R=[0,0.5,-0.25;-0.25,0,0.25;0,0,0.25];

B=[0,k21,k31;k12,0,k32;0,0,k];

G=inv(R).*B;

g=det(G);

but Matlab is showing the following error

??? Error using ==> horzcat

CAT arguments dimensions are not consistent.

Error in ==> g at 60 B=[0,k21,k31;k12,0,k32;0,0,k];

K21,K31,K12,K32 and k all have dimensions of 923334 by 1. Can anyone help me how can I carry out the following operation.

Upvotes: 0

Views: 92

Answers (1)

bla
bla

Reputation: 26069

Your code works well for me. Check that the k-values (k12,k31,k32...) are scalars (or 1x1 dimension)

EDIT :

For the case you mention, k's are nx1, one simple way is to perform a loop:

R=[0,0.5,-0.25;-0.25,0,0.25;0,0,0.25];

for ii=1:length(k)
     B=[0,k21(ii),k31(ii);k12(ii),0,k32(ii);0,0,k(ii)];
     G=inv(R).*B;
     g(ii)=det(G);
end

There is also a "vectorized" way to do that, but it seems to be good enough...

Upvotes: 1

Related Questions