ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Javaの課題丸投げコミュのSN比の計算をするプログラム

  • mixiチェック
  • このエントリーをはてなブックマークに追加
始めましてJava−Eclipseでわからない事だらけの目玉の親父です
早速丸投げさせて頂きます。

  30  60  90
  65 136 208
  74 147 197
 139 283 405

この配列で

1. 65・74・136・147・208・197を各々2乗 (St)

2. 30・60・90を各々2乗してその和を2倍  (r)

3. (30×139+60×283+90×405)の2乗をrで割る (sb)

4. St−Sb  (Se)

5. Se割る5  (Ve)

6. {1/r(Sb−Ve)}をVeで割る (n)

7. 10 log n (n2)


結果的に7番目を出力できればOKです。
意味のわからない事があったら言ってください。
お時間のある方宜しくお願いします。

コメント(6)

Stは行列?
その他はスカラみたいだけど。
Stを行列だとすると分け分からなくなるな。

1.って何か抜けてないですか?
あと7.のn2はnの2乗?
書き込みありがとうございます。
すいませんわかりづらかったですね。
(St)とかは

St=65+74+・・・ってことでした。

1. 65・74・136・147・208・197を各々2乗 (St) は
St=65^2+74^2+136^2+147^2+208^2+197^2=答え ってことです。

たぶん1.はこれでいいと思うんですけど。

7のn2ってのは2乗ではありません。

紛らわしくて申し訳ないです。
こんな感じかな?
結果は
st=131879.000000, r=25200.000000, sb=131657.142857, se=221.857143, ve=44.371429, n=0.117705, n2=-21.395757
ただしいのか分からない、、、w

public class SNPropotion {

public static void main(String[] args) {
double[][] a = new double[][] { { 30, 60, 90 }, { 65, 136, 208 },
{ 74, 147, 197 }, { 139, 283, 405 } };

double st = 0;
for (int i = 0; i < 3; i++) {
st += a[1][i] * a[1][i];
st += a[2][i] * a[2][i];
}

double r = 0;
for (int i = 0; i < 3; i++) {
r += a[0][i] * a[0][i];
}
r *= 2;

double sb = 0;
for (int i = 0; i < 3; i++) {
sb += a[0][i] * a[3][i];
}
sb *= sb / r;

double se = st - sb;

double ve = se / 5;

double n = (1 / r * (sb - ve)) / ve;

double n2 = 10 * Math.log(n);

System.out.printf("st=%f, r=%f, sb=%f, se=%f, ve=%f, n=%f, n2=%f", st,
r, sb, se, ve, n, n2);
System.out.println();

}
}
答えは最後の7だけ違いました。

他はあっていたのでやってみます。

時間のない所ありがとうございました。
最後の7って、常用対数?自然対数?

常用対数なら、
double n2 = 10 * Math.log(n) / Math.log(10);
で、
-9.29205088335…(Winの電卓利用
が出るはずだけど。
おおお!!

援護射撃ありがとうございます。

そうなりました。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Javaの課題丸投げ 更新情報

Javaの課題丸投げのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。