フィルターのクリア

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.

採用された回答

Torsten
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
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
Prabhath Manuranga 2024 年 2 月 28 日
編集済み: Prabhath Manuranga 2024 年 2 月 28 日
g_mean = g_i + 0.0424*H_i % Equation 01
H_i = (W_lvd - W_i)/g_mean % Equation 02
Here g_i, H_i, and W_i is known.
W_lvd is unkonwn.
There are 172 row values per g_i and H_i (170 by 1 matrix).
How to solve this?
  1 件のコメント
Torsten
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
Prabhath Manuranga 2024 年 3 月 12 日
編集済み: Walter Roberson 2024 年 3 月 12 日
X_ISMD = 995152.969208341;
Y_ISMD = 996113.117131325;
for i = 1:length(data1)
D1(i) = sqrt((X_ISMD - X_WGS84(i)).^2 + (Y_ISMD - Y_WGS84(i)).^2);
end
D1
length(data1) is 172. X_WGS84(i) and Y_WGS84(i) are 172 by 1 matrix. according to the above matlab code i ma getting following output (1 by 172 matrix). but i want to have 172 by 1 matrix. could you please suggest where should i change in my code? Thanks.
D1 =
Column 1
140911.995295475
Column 2
123232.133401588
Column 3
115208.35805542
Column 4
93127.1628328772
  1 件のコメント
Walter Roberson
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 ExchangeGenetic Algorithm についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by