I need some help to solve non-linear equation with three unknowns and three knowns with having 170 different values for one known.

2 visualizaciones (últimos 30 días)
Xw, Yw, Zw (170 * 1 matrices) are known with 170 different values.
Xe, Ye, Ze are the unknowns.
Tx, Ty, Tz, Rx, Ry, Rz, and neta are some of other knowns.
I want to find the values for Xe, Ye, and Ze.

Respuestas (1)

Torsten
Torsten el 21 de Feb. de 2024
Editada: Torsten el 21 de Feb. de 2024
M = [eta+1,Rz,-Ry;-Rz,eta+1,Rx;Ry,-Rx,eta+1];
M = repmat(M,170,1);
b = [];
for i = 1:170
b = [b;Xw(i)-Tx;Yw(i)-Ty;Zw(i)-Tz];
end
sol = M\b;
Xe = sol(1)
Ye = sol(2)
Ze = sol(3)
  5 comentarios
Walter Roberson
Walter Roberson el 23 de Feb. de 2024
M = [eta+1,Rz,-Ry;-Rz,eta+1,Rx;Ry,-Rx,eta+1];
Xe = zeros(170,1);
Ye = zeros(170,1);
Ze = zeros(170,1);
for i = 1:170
b = [Xw(i)-Tx;Yw(i)-Ty;Zw(i)-Tz];
sol = M\b;
Xe(i) = sol(1);
Ye(i) = sol(2);
Ze(i) = sol(3);
end
Torsten
Torsten el 23 de Feb. de 2024
:-)
M = [eta+1,Rz,-Ry;-Rz,eta+1,Rx;Ry,-Rx,eta+1];
dM = decomposition(M);
Xe = zeros(170,1);
Ye = zeros(170,1);
Ze = zeros(170,1);
for i = 1:170
b = [Xw(i)-Tx;Yw(i)-Ty;Zw(i)-Tz];
sol = dM\b;
Xe(i) = sol(1);
Ye(i) = sol(2);
Ze(i) = sol(3);
end

Iniciar sesión para comentar.

Categorías

Más información sobre Mathematics en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by