T法の総合推定値の計算式のプログラミングについて

7 ビュー (過去 30 日間)
丈太郎 森川
丈太郎 森川 2021 年 10 月 22 日
コメント済み: 丈太郎 森川 2021 年 10 月 24 日
添付T法の総合推定値の計算式のプログラミングについて教えてください。
ηとβは1~kのベクトル。Xはi*kの行列です。
for loopを使ってn = 1:iとm=1:k 両方使えば出来そうですが、どの様にプログラミングすればよいか検討がつきません。
お手数をおかけして申し訳ございませんが教えていただけないでしょうか。
よろしくお願いいたします。

採用された回答

Atsushi Ueno
Atsushi Ueno 2021 年 10 月 23 日
編集済み: Atsushi Ueno 2021 年 10 月 23 日
T法の総合推定値:
i = 10; k = 10;
eta = 1:k; beta = 1:k; x = rand(i,k); % ηとβは1~kのベクトル。Xはi*kの行列
mhat1 = zeros(1,i); mhat2 = zeros(1,i); % MhatはT法の総合推定値
% その1: for loopを使ってn = 1:iとm=1:k 両方使えば出来そう
for n = 1:i
num = 0; den = 0;
for m = 1:k
num = num + eta(m) * x(n,m) / beta(m); % η1*xi1/β1 + η2*xi2/β2 +...+ ηk*xik/βk
den = den + eta(m); % η1 + η2 +...+ ηk
end
mhat1(n) = num / den;
end
mhat1
mhat1 = 1×10
0.0993 0.0794 0.0997 0.0997 0.1075 0.0971 0.1063 0.0845 0.1010 0.0786
% その2: for loopを使わなくても出来そう
mhat2 = eta ./ beta * x' ./ sum(eta)
mhat2 = 1×10
0.0993 0.0794 0.0997 0.0997 0.1075 0.0971 0.1063 0.0845 0.1010 0.0786
  1 件のコメント
丈太郎 森川
丈太郎 森川 2021 年 10 月 24 日
ありがとうございます!
forを使わず1行で計算できますね。
大変助かりました。ありがとうございました。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchangeループと条件付きステートメント についてさらに検索

タグ

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!