最小二乗法の計算方法について,配列インデックスに関するエラーの解決方法.
Show older comments
fx=10^-2:10^-1 % 範囲指定
bx=p(fx)
l1=log10(bx);
l2=log10(fx);
MY=mean(l1); % l1結果の平均
MX=mean(l2); % l2結果の平均
SXY=0; % SXY = 0
for a=1:length(fx)
SXY=SXY+(l1(a)-MY)*(l2(a)-MX); %最小二乗法による回帰直線の傾き
end
SXY=SXY/length(fx);
z=SXY/var(l2)
以上のプログラムでエラーが出ます.(配列インデックスは正の整数または logical 値でなければなりません。)
このエラーを解決するにはどのようにすればよいでしょうか.
3 Comments
Hiroyuki Hishida
on 23 May 2023
金田様、
そのエラーは何行目、もしくは、どこでしょうか?また、このスクリプトを実行した際にでている出力も可能な限り記載いただけますでしょうか?
その上でですが、fxあたりが危うい気がしますが、いかがでしょうか?
正義 金田
on 24 May 2023
Hiroyuki Hishida
on 6 Jun 2023
Edited: Hiroyuki Hishida
on 6 Jun 2023
すみません、通知がされず見落としておりました。fxを1より小さい値で刻まれたいのでしたら、例えばこういう表現が可能ですが、いかがでしょうか?
fx = 0.001 : 0.001 : 1.0;
これは、0.001から1.0まで、0.001ずつ値を増やしております
Answers (0)
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!