• ベストアンサー

コスモ

1)天体をばらまく領域を決める 2)ばらまく天体の最大の明るさと最小の明るさを決める 3)ある明るさの範囲に入る天体の個数をlogN-logSを関係から求める 4) logN-logS関係は平均値を与えるため、この値を平均値とするPoisson統計に従う乱数から実際にばらまく天体の個数を決める 5)この天体を領域内に一様にばらまく(一様乱数を用いる。) 6)3~5の操作を最大の明るさから最小の明るさまで繰り返し行う。 という手順でC言語のプログラムを使って宇宙を表現したいのですが、どのようにプログラムすればよいでしょか?手がかりでいいので教えてください。できれば、参考URLがあるとありがたいです。お願いします。

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

  • ベストアンサー
  • Interest
  • ベストアンサー率31% (207/659)
回答No.1

gengen4さんのC言語理解レベルと、実現しようとしているプログラムのデータ入力/結果出力の仕様について補足をお願いします。 C言語について、 (1) データ型や制御文(for,while,if,switch-caseなど)は自在に扱えますか? 配列、構造体、ポインタはどうですか? (2) 自分で関数を作ることができますか? (3) リスト構造やバブルソートなど、基本的なデータ構造やアルゴリズムをC言語でどうやって実現するか説明できますか? (4) DirectX や OpenGLなどのライブラリを使用して3Dグラフィックを扱うプログラムを作れますか? データ入力/結果出力の仕様について、 (1) 天体をばらまく領域はどのように与えますか? (2) N,S はそれぞれ何の値ですか? (3) プログラムの実行結果をどのように出力しますか?(例1:天体の座標と明るさをテキストファイルに記録する。例2:3Dグラフィックスで画面に表示する、など) アドバイスは、gengen4さんのC言語理解レベル(=できること)と仕様(=やりたいこと)に応じて変わってくるかと思います。

gengen4
質問者

お礼

返答遅れて申し訳ありません。 この問題についての理解が低すぎたようで、愚問を問うてしまいました。今、現在問題ない状態です。 解答ありがとうございました。

その他の回答 (1)

  • Directxq
  • ベストアンサー率42% (8/19)
回答No.2

#1様のおっしゃるとおり、 ・アルゴリズムを知りたいのか ・具体的なプログラムソースを知りたいのか ・実際にグラフィック化したいのか また ・変数を格納して「これを表現したら宇宙が出来る」という段階でいいのか ・実際に2D表示するのか ・実際に3D表示するのか ・ライブラリは何を使ってよいのか 一番重要なのが ・自分はどこまで考えたからどこが知りたいのか 補足お願いします。

gengen4
質問者

お礼

返答遅れて申し訳ありません。 この問題についての理解が低すぎたようで、愚問を問うてしまいました。今、現在問題ない状態です。 解答ありがとうございました。

関連するQ&A

  • ポアソン分布

    エクセル、統計学初心者なのでわかりやすく教えていただけたら嬉しいです。 ポアソン分布について、以下の度数分布からpoisson関数(関数形式はfalse)を用いて理論度数と比べるという事をしたいのですが、この関数の使い方や出てきた値の意味する事が調べてもよく理解できません。 「ポアソン分布のパラメータを決める」 「そしてpoisson関数により理論度数と比べる」とはどういう意味でしょうか。 階級 度数 1  0 2  0 3  4 4  10 5  20 6  8 7  7 8  0 9  1 10  0 ちなみに上記は、 (1)-Ln(rand())で20個の乱数を出したものを昇順に並べ、最小のものから累計していき、累計が1を超えるまでの乱数の個数を記録。 (2)これを50回分記録し、上の個数を1,2,・・・で度数をfrequency関数で出したもの。

  • 統計の質問です

    植物があるとします。 その植物に特殊な肥料を与えた場合10%の確率で発芽するとします。 7鉢の植物全部を発芽させるのに必要な肥料は平均すると70個だとは思うのですが、 最小で何個、最大で何個までが統計学的にありえる個数なのでしょうか? また、同様に5%で発芽するとした場合の 必要になる肥料の最小数と最大数も知りたいです。

  • 統計学のアーラン分布について

    統計学のアーラン分布について質問です。 待ち行列理論のシュミレーションをC言語で作っていて ポアソン分布の式は分かったのですが アーラン分布の式が分かりません。 確立密度関数f(x)は平均が1/aの時に  f(x)={(at)^(k-1)/(k-1)!}*a*e^(-at)  となることまでは分かっているのですが この分布に従う値をいくつか出す方法が 分からなくなってしまいました。 文章が分かりにくくてすみません。 例えばポアソン分布なら平均1/aとして  -log(1-(random))/a (randomは0~1の乱数) として乱数の値を変えていくと できた数は全体としてポアソン分布に従っているのですが これがアーラン分布ではどのような式になるか知りたいです。 どなたか分かる方、教えてください よろしくお願いします。

  • C++言語について

    大学で研究室に配属された友達に勉強の相談をされました。 下の課題なのですが、どのようにプログラムすれば良いのでしょうか? 来年は、留年している僕の番なのでとても気になります。 丸投げで申し訳ないのですが、どなたかよろしくお願いいたします。 (1) 0から20の間の一様乱数を1000個作り、それをヒストグラムにする。 出来上がった分布の平均が10、分散が20÷√12になることを確認する。 (2) 平均値が10の指数関数分布exp(-ax)(0<x)になるように乱数を1000個作り、それをヒストグラムにする。 出来上がった分布の平均値が10に近いことを確認する。 (3) 平均値が5のpoisson分布になるように乱数を1000個作り、それをヒストグラムにする。 そのヒストグラムをpoisson分布関数、及びgauss分布でfitする。 (4) 平均値が10の指数関数分布exp(-ax)(0<x)になるように乱数からサンプルを1000個選び出し、その和を取りヒストグラムにする。 この操作を10000回繰り返す。 出来たヒストグラムをgauss分布関数でfitする。 僕にはもうサッパリ分かりません。。。

  • ソースコードがわからないので教えてください。

    【Java】ソースコードを教えてください。 以下のあ~くの空欄に入るソースコードを教えてください。 解答がなくて困っています。 ・問題 コマンドラインから乱数の最小値,最大値および生成数を入力し、生成した乱数の最大値と最小値および平均を表示するプログラム UseRandomCommand.java を完成させなさい。実行例のように動作すること。 import java.util.Random; public class UseRandomCommand{ public static void main(String[] args){ Random r = new Random(); int max, min; double ave; if( args.length == 3 ){ int n =r.nextInt( あ )+ Integer.parseInt(args[0]); max=min=n; ave=(double)n; for (int i = 1; i < い ); i++){ n = r.nextInt( う )+ Integer.parseInt(args[0]); System.out.println(n); if (max < n) え ; else if (min>n) お ; ave+=(double) か ; } ave/=Double.parseDouble( き ); System.out.println("最大値:"+max); System.out.println("最小値:"+min); System.out.println("平均値:"+ave); } else { System.out.println("引数は3個必要です。"); System.out.println(" く "); } } } 【実行例】(java~~は標準入力) C:\Users\xxxxx\~~~\~~~>java UseRandomCommand 1 50 100 14 1 17 (略) 2 44 50 最大値:50 最小値:1 平均値:24.56 C:\Users\xxxxx\~~~\~~~>java UseRandomCommand 引数は 3 個必要です。 使い方)java UseRandomCommand 乱数の最小値 乱数の最大値 乱数の個数

  • 最大値(最小値)の分布

    ある母集団は、平均値がAの正規分布又はポアソン分布であり、その標準偏差は√Aで表されます。その母集団から、N個サンプリングしたとします。(正規分布とポアソン分布のどちらで考えてもいいです。) N個サンプリングしたデータについて、最大値と最小値の標準偏差はどのように表されるでしょうか。平均値Aとサンプリング数Nで表されるはずなのですが、どうしても分かりません。 よろしくお願いいたします。

  • プログラミングについて質問です。

    キーボードから配列に代入された10個の実数データの平均,最大値,最小値を求め,表示するソースプログラムを作成したいです.また、平均値,最大値,最小値はそれぞれを計算する関数を作り,求めたいです。 このプログラムをわかりやすいように簡単なコードで作ってくれませんか?

  • 値を入力し、入力した値から最大値、最小値、平均を導くプログラム

    Javaのプログラムの質問です。 プログラム実行後4つの数値を入力し入力された数値の中で 最大値、最小値、4つの数値の平均を表示するプログラムの作成のしかたを教えていただけますでしょうか? 例 プログラム実行 1つ目は? 2 2つ目は? 50 3つ目は? 32 4つ目は? 17 最大値は50です。 最小値は2です。 平均は25.25です。 という感じにするにはどうすればいいのでしょうか? よろしくお願いします。

  • 二項分布、ポアソン分布の問題について質問です

    二項分布、ポアソン分布の問題について質問です 私は高校生ですが、経済学に興味を持っているので、統計学を自習しております。しかし参考書でわからない問題があったので質問したいと思います。 (1)二個のさいころを72回振る時両方とも一の目が出る回数をxとする。x=0,1・・・5の各々についてその確率を二項分布とポアソン分布を用いて計算し、両者を比較せよ (2)ある工場で製造された電球の3%は不良品である。いま100個を抽出する時0個、1個、2個、3個が不良品である可能性をポアソン分布を利用して求めよ。 (3)ある大学の食堂で、カレーライス一皿のなかの牛肉の個数はポアソン分布に従っているという。一個に少なくとも2個の牛肉が入っている確立を95%以上にするには一皿あたりの牛肉の個数の平均をおおよそいくら以上にしなければならないか(グラフを用いて会の近似値を求めよ)

  • 同じ数字が連続する箇所を数える関数

    エクセルである関数を作ろうとしています。 まず前提として僕が知ろうとしているのは、「(1)~(4)の4択形式の試験で全N問あったとき、同じ数字が最大n連続するものが一つでも現れる確率は◯◯だ」ということが知りたいと思っています。 センター試験とかで同じ数字が何連続も続くと不安になりますよね?あれはどういう確率分布をしているのか、統計的に調べてみようという感じです。 そのために、Nに色々数値を代入して、(例えば10でやってみましょう)10個の乱数を発生させます。 その中で同じ数字が最大2連続している箇所の個数、最大3連続している箇所の個数、最大4連続している箇所の個数・・・、最大10連続している箇所の個数、をそれぞれ数えます。これを例えば1万回繰り返して、最大n(2~10)連続する箇所が1万回の試行回数のうちで何回出てきたかを集計すれば、だいたいどれくらいの確率で最大n連続するものが出現するかが分かるのでは、という寸法です。 長くなりましたが知りたいのは、 『乱数を10個発生させ、例えば 1433444133とすると、 この中で数字が 最大2連続している箇所が2箇所 最大3連続している箇所が1箇所 最大4連続している箇所が0か所 ・・・ 最大10連続している箇所が0か所 のようなことが分かる関数』 で、できれば 『これを一万回繰り返して、各n(2~10)について集計してくれる関数』 をぜひ考えてほしいです!>< 皆様のアイディアを頂ければ嬉しいです。よろしくお願いします…!

専門家に質問してみよう