I need some help to solve non-linear equation with three unknowns and three knowns with having 170 different values for one known.
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Prabhath Manuranga
il 21 Feb 2024
Commentato: Walter Roberson
il 12 Mar 2024
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.
0 Commenti
Risposta accettata
Torsten
il 21 Feb 2024
Modificato: Torsten
il 21 Feb 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)
6 Commenti
Torsten
il 23 Feb 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
Più risposte (2)
Prabhath Manuranga
il 28 Feb 2024
Modificato: Prabhath Manuranga
il 28 Feb 2024
1 Commento
Torsten
il 28 Feb 2024
W_lvd = H_i.*(g_i+0.0424*H_i)+W_i
if you want W_lvd as a 170x1 matrix
W_lvd = 1/170*sum(H_i.*(g_i+0.0424*H_i)+W_i)
if you want W_lvd as the best approximate value for the vector values H_i.*(g_i+0.0424*H_i)+W_i
Prabhath Manuranga
il 12 Mar 2024
Modificato: Walter Roberson
il 12 Mar 2024
1 Commento
Walter Roberson
il 12 Mar 2024
X_ISMD = 995152.969208341;
Y_ISMD = 996113.117131325;
D1 = zeros(length(data1),1);
for i = 1:length(data1)
D1(i) = sqrt((X_ISMD - X_WGS84(i)).^2 + (Y_ISMD - Y_WGS84(i)).^2);
end
D1
Vedere anche
Categorie
Scopri di più su Get Started with Curve Fitting Toolbox in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!