Cross Product is Returning Values way to small to be right

조회 수: 7 (최근 30일)
Pete
Pete 2018년 8월 29일
댓글: Steven Lord 2018년 8월 29일
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);

채택된 답변

James Tursa
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
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 CenterFile Exchange에서 Arithmetic Operations에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by