Cross Product is Returning Values way to small to be right
5 次查看(过去 30 天)
显示 更早的评论
Hi,
I am trying to determine the cross product of two vectors while having MATLAB calculate the components and then cross them. Every time it runs it spits out an answer like 1.0e-15. Does anyone know what is causing this? I'm new to MATLAB and all help is appreciated.
clear all;
close all;
A=2.8;
B=1.9;
Ax=A*cos(60*(180/pi)); %Finds the x component to vector A
Ay=A*sin(60*(180/pi));
Az=0;
Bx=B*cos(60*(180/pi)); %Finds the x component to vector A
By=B*sin(60*(180/pi));
Bz=0;
A=[Ax Ay Az];
B=[Bx By Bz];
C=cross(A,B);
disp (C);
0 个评论
采纳的回答
James Tursa
2018-8-29
Your vectors are parallel to each other, so the answer should be 0. The small number you are getting is just from floating point calculation effects.
Also, your apparent conversion from degrees to radians is backwards. You need the factor to be (pi/180) instead of the (180/pi) you are currently using.
1 个评论
Steven Lord
2018-8-29
Rather than converting from degrees to radians, use the degree-based trig functions sind and cosd instead of the radian-based sin and cos.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Arithmetic Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!