From: Mark Schelbergen on
I use the equation below:
M=r x F (all vectors)
The moment; M and the arm; r are known, is there a way to calculate the force; F?
Does matlab has a function for this problem?

Thanks for reading my question, Mark
From: Matt J on
"Mark Schelbergen" <mjewrik(a)hotmail.com> wrote in message <ht3c9g$8ko$1(a)fred.mathworks.com>...
> I use the equation below:
> M=r x F (all vectors)
> The moment; M and the arm; r are known, is there a way to calculate the force; F?
=====================

No, there is no unique solution for F. You can convert this equation to a matrix equation using the function xprodmat below

R=xprodmat(r);
M=R*F;

but the matrix R will always be singular.


function A=xprodmat(a)
%Matrix representation of a cross product
%
% A=xprodmat(a)
%
%in:
%
% a: 3D vector
%
%out:
%
% A: a matrix such that A*b=cross(a,b)



if length(a)<3, v(a)=0; end

ax=a(1);
ay=a(2);
az=a(3);

A=zeros(3);

A(2,1)=az; A(1,2)=-az;
A(3,1)=-ay; A(1,3)=ay;
A(3,2)=ax; A(2,3)=-ax;
From: Roger Stafford on
"Mark Schelbergen" <mjewrik(a)hotmail.com> wrote in message <ht3c9g$8ko$1(a)fred.mathworks.com>...
> I use the equation below:
> M=r x F (all vectors)
> The moment; M and the arm; r are known, is there a way to calculate the force; F?
> Does matlab has a function for this problem?
>
> Thanks for reading my question, Mark

Matt J is right. Any vector F2 which is given by

F2 = cross(M,r)/dot(r,r)+k*r

where k is any scalar whatever, will be a solution. To see this, just take the cross product of r and such an F2 and you will always get M.

Roger Stafford
From: Mark Schelbergen on
what is wrong with this:

F2=uv(cross(M,r))*norm(M)/norm(r);

where uv() is af function to determine the unit vector
From: Matt J on
"Mark Schelbergen" <mjewrik(a)hotmail.com> wrote in message <htgi7t$3jq$1(a)fred.mathworks.com>...
> what is wrong with this:
>
> F2=uv(cross(M,r))*norm(M)/norm(r);
>
> where uv() is af function to determine the unit vector

As we've been saying, it is only 1 of an infinite number of possible solutions.