C/C++の宿題を片付けます 92代目
■ このスレッドは過去ログ倉庫に格納されています
0092デフォルトの名無しさん
2007/07/05(木) 00:35:46[2] 問題文(含コード&リンク):
最小二乗法は計測データの分析に使われる方法である.
ある測定で,xとyのn組のデータ(x1,y1),(x2,y2), .......(xn,yn)が得られたとする.それらの点は一次関数y=ax+bで表される直線の近傍で誤差を持ってばらついているとみなされるとき,一般に最小二乗法を用いる事でこの直線を推定できる.
それによれば,a,bは以下の式で求められる.
式→http://vista.crap.jp/img/vi8356319177.jpg
1行にxとyのそれぞれ値がスペースで区切られ,n組のデータがn行となって書かれたテキストデータを受け付け,最小二乗法でa, bを求めるプログラムを書け.
ファイル名の長さは最大で(マクロ定数で定義された)FILENAME_MAX文字までとしてよい.
データの行数は最大128行とする.
読み込んだデータはdouble型として扱い,配列x[], y[]に代入する.
最小二乗法でa, bを求める関数linestをプロトタイプ宣言し,x, yの配列の先頭アドレスとデータ数を渡す.
main関数以外の関数内で配列は使用せず,for文とポインタを利用すること.
出力する傾きと切片は,それぞれ"a = ","b = "の後に続けて小数第4位まで一行ずつ表示する.
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 7月5日10時まで
[5] その他の制限:特になし
よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています