333 views (last 30 days)

Show older comments

If i have the following 4 vectors:

D=Ax(B*C)

How would I solve for C?

Try and make this a tab bit more clear. I have A is a 1x3 matrix, B is a 3x3 matrix C is a 3x1 matrix and D is a 1x3 matrix. I am trying to solve for C. The problem is stated as A cross the product B*C equals D.

Roger Stafford
on 19 Aug 2013

C = [ cross(A',B(:,1)) , cross(A',B(:,2)) , cross(A',B(:,3)) ]\(D');

Roger Stafford
on 19 Aug 2013

There is a way to obtain a unique value for C that satisfies your equation. Let C be given by:

C = B\(cross(D',A')/dot(A,A));

This is the unique C such that

D' = cross(A',B*C)

and

dot(B*C,A') = 0

That is, such that B*C is orthogonal to A'. It assumes that D is orthogonal to A and that B is non-singular.

joseph agno
on 7 Oct 2020

muhammad asif
on 11 Oct 2020

circle statement

Steven Lord
on 11 Oct 2020

Do you mean n times n? If so use the * operator.

But please do not put your own files in any subdirectory under the matlabroot directory!

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

Start Hunting!