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

2 次查看(过去 30 天)
丈太郎 森川
丈太郎 森川 2021-10-22
添付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 CenterFile Exchange 中查找有关 ループと条件付きステートメント 的更多信息

标签

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!