Cross Product and Vector Multiplication

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.

4 件のコメント

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 8 月 19 日
What are your known parameters ?
the cyclist
the cyclist 2013 年 8 月 19 日
Can you please verify that in MATLAB syntax,
D = cross(A,B*C)
?
Melissa
Melissa 2013 年 8 月 19 日
Its a stiffness and force equation for displacement. So D is reaction force of [Fx,Fy,Fz]. A is the position vector [x;y;d]. B is the transformation to global stiffness [3x3 DCM] and C is the displacement [x.y.z]
Melissa
Melissa 2013 年 8 月 19 日
>> A=[1 2 3]; B=[1 2 3; 4 5 6; 7 8 9]; C=[4; 5; 6];
>> D=cross(A,B*C)
D =
13 -26 13

サインインしてコメントする。

 採用された回答

Roger Stafford
Roger Stafford 2013 年 8 月 19 日

1 投票

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

4 件のコメント

Melissa
Melissa 2013 年 8 月 19 日
When attempting to use your code I receive:
C =
NaN
NaN
NaN
Roger Stafford
Roger Stafford 2013 年 8 月 19 日
I was overly hasty. It is true that if
D=cross(A,B*C)
then
[cross(A',B(:,1)),cross(A',B(:,2)),cross(A',B(:,3))] * C = D'
However this matrix
[cross(A',B(:,1)),cross(A',B(:,2)),cross(A',B(:,3))]
is inherently singular, that is, its determinant is zero. In other words the equations you can obtain from
D=cross(A,B*C)
have infinitely many solutions for C. You cannot determine C uniquely from A, B, and D.
To visualize this better, consider this equation
Z = cross(X,Y)
where X and Y are vectors. If you are then given Z and X, there will obviously be infinitely many Y vectors that will satisfy the above equation. Any Y which is orthogonal to Z and has the appropriate component orthogonal to the X direction will be a solution. The same applies to your situation. You cannot determine C from A, B, and D.
Melissa
Melissa 2013 年 8 月 19 日
That makes sense. I went through the properties of cross product and multiplication and arrived at your equation but since it is singular then I cannot obtain C. Dang. Thank you for your time and explanation.
Roger Stafford
Roger Stafford 2013 年 8 月 19 日
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.

サインインしてコメントする。

その他の回答 (3 件)

joseph agno
joseph agno 2020 年 10 月 7 日

0 投票

  • Find the Matlab command to carry out the cross product of two vectors b and c and try it out on two vectors.
muhammad asif
muhammad asif 2020 年 10 月 11 日

0 投票

if n corss n = ny
how to write cross in symbol notation form in matlab
muhammad asif
muhammad asif 2020 年 10 月 11 日

0 投票

circle statement

1 件のコメント

Steven Lord
Steven Lord 2020 年 10 月 11 日
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!

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeLinear Algebra についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by