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

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

Réponse acceptée

Atsushi Ueno
Atsushi Ueno le 23 Oct 2021
Modifié(e) : Atsushi Ueno le 23 Oct 2021
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 commentaire
丈太郎 森川
丈太郎 森川 le 24 Oct 2021
ありがとうございます!
forを使わず1行で計算できますね。
大変助かりました。ありがとうございました。

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur ループと条件付きステートメント dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!