ex13-6.c

2種類のテストの $N$ 人分の点数 $x_i, y_i (i=1,\cdots,N)$ に対する相関係数 $$\frac{\displaystyle\sum_{i=1}^N (x_i-\bar{x})(y_i-\bar{y})}{\sqrt{\displaystyle\sum_{i=1}^N (x_i-\bar{x})^2 \displaystyle\sum_{i=1}^N (y_i-\bar{y})^2}}$$ を計算したい。ただし、ここで $\bar{x}, \bar{y}$ は、それぞれ $x_i, y_i$ の平均値である。

まず、人数 $N$ の値を自然数として入力し、次いで $N$ 人分の $x_i, y_i$ の点数を整数として順に入力すると、$x_i, y_i$ の相関係数を出力するプログラム ex13-6.c を作成し、kiso2コマンドを用いて提出しなさい。 ただし、$N$ に 2 未満の値が入力された場合は何も出力せずにプログラムを終了するものとする。

実行例(相関係数の定義式の添字と配列の添字がずれていることに注意):

t190900@s01cd0542-160:~/kiso2-2019/ex13$ ./ex13-6
N? 0
t190900@s01cd0542-160:~/kiso2-2019/ex13$ ./ex13-6
N? 1
t190900@s01cd0542-160:~/kiso2-2019/ex13$ ./ex13-6
N? 2
0:x y? 1 2
1:x y? 2 4
平均値: 1.500000 3.000000
相関係数: 1.000000
t190900@s01cd0542-160:~/kiso2-2019/ex13$ ./ex13-6
N? 3
0:x y? 1 3
1:x y? 2 2
2:x y? 3 1
平均値: 2.000000 2.000000
相関係数: -1.000000
t190900@s01cd0542-160:~/kiso2-2019/ex13$ ./ex13-6
N? 9
0:x y? 1 9
1:x y? 2 8
2:x y? 5 6
3:x y? 1 1
4:x y? 9 7
5:x y? 3 2
6:x y? 6 3
7:x y? 9 2
8:x y? -1 3
平均値: 3.888889 4.555556
相関係数: -0.016993
  • lecture/kiso2/ex/ex13-6.c.txt
  • 最終更新: 2019/12/17 15:13
  • by sano