Cross Product is Returning Values way to small to be right
조회 수: 7 (최근 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!