필터 지우기
필터 지우기

how to calculate this equation?

조회 수: 2 (최근 30일)
sebastiano della gatta
sebastiano della gatta 2022년 1월 4일
편집: Walter Roberson 2022년 1월 5일
i have:
P3=[l1 - (l3y*(2*c3 - 2*c1*c2))/c_delta + (l3z*(2*c2 + 2*c1*c3))/c_delta + (l3x*(c1^2 - c2^2 - c3^3 + 1))/c_delta;
(l3x*(2*c2 + 2*c1*c2))/c_delta (l3y*(c1^2 - c2^2 + c3^2 - 1))/c_delta - (l3z*(2*c1 - 2*c2*c3))/c_delta;
(l3y*(2*c2 + 2*c2*c3))/c_delta - (l3x*(2*c2 - 2*c1*c3))/c_delta - (l3z*(c1^2 + c2^2 - c3^2 - 1))/c_delta]
P4=[p4x+0.9972s;p4y-0.0712s;p4z-0.0216s];
l4=P4-P3;
i have to do this product:
(P4-P3)⋅(P4-P3) - l4^2=0.
when I calculate this matlab equation it gives me back the conjugate complexes that I don't want, why?
  댓글 수: 6
Star Strider
Star Strider 2022년 1월 5일
Put each line in parentheses (the trailing semicolons are outside the parentheses). That generally solves the problem that spaces create, and preserves the readability of the code.
sebastiano della gatta
sebastiano della gatta 2022년 1월 5일
편집: Walter Roberson 2022년 1월 5일
clear all; clc; close all;
syms theta l1 o_1x o_1y o_1z s p4x p4y p4z c1 c2 c3 c_delta l3x l3y l3z
betan=[-1.534,0.019,0.072];
Rz0=[1 0 0;0 cos(theta) -sin(theta);0 sin(theta) cos(theta)];
l1=[l1;0;0];
A=Rz0*l1;
P1=0+A;
R=1/c_delta*[1+c1^2-c2^2-c3^3 2*(c1*c2-c3) 2*(c1*c3+c2);2*(c1*c2+c2) 1-c1^2+c2^2-c3^2 2*(c2*c3-c1);2*(c1*c3-c2) 2*(c2*c3+c2) 1-c1^2-c2^2+c3^2];
l3=[l3x;l3y;l3z];
R01=R*l3;
P3=P1+R01;
Rzb=[1 0 0; 0 cos(-1.534) -sin(-1.534); 0 sin(-1.534) cos(-1.534)];
Ryb2=[cos(0.019) -sin(0.019) 0;sin(0.019) cos(0.019) 0; 0 0 1];
Rxb3=[cos(0.072) 0 sin(0.072);0 1 0;-sin(0.072) 0 cos(0.072)];
R02=Rzb*Ryb2*Rxb3;
v=[s;0;0];
s=R02*v;
P=[p4x;p4y;p4z];
P4=(P+s);
l4=P4-P3;
(P4-P3)·(P4-P3)-l4^2=0
it is not equal to zero because you do the scalar product first and then the subtraction but when I do this I get complex numbers that I don't want, how can I solve?

댓글을 달려면 로그인하십시오.

채택된 답변

laurent jalabert
laurent jalabert 2022년 1월 5일
Hello, maybe I did not understood your problem cause l4=P4-P3; and you want to solve:
(P4-P3)⋅(P4-P3) - l4^2=0, which means (P4-P3)⋅(P4-P3) - (P4-P3)^2 = 0
Do you mean (P4-P3).*(P4-P3) - (P4-P3).^2 = 0 ? which is 0=0
  댓글 수: 1
sebastiano della gatta
sebastiano della gatta 2022년 1월 5일
it is not equal to zero because i don't have to use .* because is another operation.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

태그

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by