I need some help to solve non-linear equation with three unknowns and three knowns with having 170 different values for one known.
6 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Torsten
2024 年 2 月 21 日
編集済み: Torsten
2024 年 2 月 21 日
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 件のコメント
Torsten
2024 年 2 月 23 日
:-)
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
その他の回答 (2 件)
Prabhath Manuranga
2024 年 2 月 28 日
編集済み: Prabhath Manuranga
2024 年 2 月 28 日
1 件のコメント
Torsten
2024 年 2 月 28 日
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
2024 年 3 月 12 日
編集済み: Walter Roberson
2024 年 3 月 12 日
1 件のコメント
Walter Roberson
2024 年 3 月 12 日
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
参考
カテゴリ
Help Center および File Exchange で Genetic Algorithm についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!