• ベストアンサー

至急教えてください!!

質問したのですが、初心者すぎて何を言われているか分からないので、1部取り出しました。 和の二乗と二乗の和 この二つの和を求めたいです。 プログラム途中からで$X、$Y、$ndataは既に使われています。 my $X = $x[$ndata] my $Y = $y[$ndata] my $sg =0; my $sg1 =0; my $sg2 =0; for($x; $x < $ndata;$x++;){ $sg1 = $sg1 + ($X)**2; $sg2 = $sg2 + ($X); } $sg = $ndata * $sg1 - ($sg2)**2; これが前に質問したものです。 ​http://oshiete1.goo.ne.jp/qa5603956.html​ できれば間違っているところを直したプログラムを書いていただけると嬉しいです。それと前に質問した中で、他にも違うところがあったら直していただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • kuroizell
  • ベストアンサー率55% (95/170)
回答No.2

え・・・っと @xにいくつかの数値が入っていて、その和の二乗&二乗の和の合計を求めるのでしょうか? 最初の2行(行末の;が抜けてますよ)は削除して、$ndataの存在は忘れて、 foreach my $X (@x) {  #配列@xに含まれる各数値を$Xに代入して $sg1 = $sg1 + $X ** 2;  #二乗の和 $sg2 = $sg2 + $X;  #和(後で二乗する) } $sg = $sg1 + $sg2 ** 2;  #二乗の和&和の二乗の合計 こういう感じではないかと推測します。

noname#108711
質問者

お礼

ありがとうございました

その他の回答 (3)

  • t-okura
  • ベストアンサー率75% (253/335)
回答No.4

> 間違っているところを直したプログラムを書いていただけると嬉しい ということで、プログラムを作ることが目的ではなく最小二乗法を 使ってデータ処理をしたいのだと思いました。 「perl 最小二乗法」で検索すると利用可能なプログラムがすぐに 見つかりますよ。提示されたプログラムは似ているようで、 計算式が違っているような気がします。

noname#108711
質問者

お礼

そうですそうです!! ありがとうございました

回答No.3
noname#108711
質問者

お礼

これ見たんですけれど、よく分からなかったんですね・・・ ありがとうございました

noname#108428
noname#108428
回答No.1

Perlの問題の前に、日本語の問題をクリアしましょう。 > 和の二乗と二乗の和 > この二つの和を求めたいです。 まず「和の二乗」とは「何と何の和、の二乗」を意味するのか。 次いで「二乗の和」とは「何の二乗と、何を足した和」であるのか。 また「この二つの和」の一方は、後者の「二乗の和」と 推測されますが、もう一方は何であるのか。 その辺りが全く不明です。 つまり何をしたいのかが分からないので、 貴殿の書いたコードが、貴殿の意図と違うのかどーかも判断できません。

関連するQ&A