トップページtech
1001コメント301KB

C言語なら俺に聞け(入門編)Part 116

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん2013/06/14(金) 20:22:05.73
C言語の入門者向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 115
http://toro.2ch.net/test/read.cgi/tech/1368444993/
★過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&;andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
  ↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 164代目
http://toro.2ch.net/test/read.cgi/tech/1370255305/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
  # サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/C/C++の宿題片付けます 165代目
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0838デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
>>837
ブログのアクセス数どのくらい?
何か面白いプログラム作ってよ
0839デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
>>837
ありがとう。
visual studioでそのファイル見つけました。
便利ですね。
0840toya2013/07/09(火) NY:AN:NY.AN
WikibooksのC言語の教科書が、標準ライブラリのページ以外は、一応完成した。
加筆修正、標準ライブラリの執筆してくれる方求む。
http://ja.wikibooks.org/wiki/C%E8%A8%80%E8%AA%9E
0841デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
>>840
おつかれ。
0842デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
入門レベルならその内容でいいと思うけど
応用Cとかいう題名でCの応用的な事を系統立てて学びたいどんな
プログラムにすればいいだろうか?

1章 
2章
0843デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
>>840
ここは執筆活動報告スレではない
他人に迷惑をかけないよう直ちに回線を切れ
0844デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
>>840
意義がある活動されてますね。
こういうのがあるの、初めて知りました。
0845 ◆QZaw55cn4c 2013/07/10(水) NY:AN:NY.AN
>>831
メモリ制限とは関係ないのでは?static な領域は計算可能だから必要な分だけ .data に確保されて問題ない。
static をつけずにスタックに配列(というおおげさなもの)を置くという方が、むしろ制限を意識する。
というか、配列を初期化するときには static をつけたくなるんだね、C89 が気になって、もうやめたいけどね。
0846デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
staticはヒープ領域じゃないの・・・・また恥を晒すのか?
0847 ◆QZaw55cn4c 2013/07/10(水) NY:AN:NY.AN
>>846
static はヒープじゃない、とは一言もいっていないが?
ただ、スタックはデフォルトのままでは「実行させるまで足りなくなることがわからない」けれども、static なら確保できなければコンパイルの時点ではねられるだろう?
配列をスタックに置くのはどーかと思うよ。

>>824
をみるかぎり static な領域のほうが制限がきつい、と思っているようだけれども、その判断は疑問だね。
0848 ◆QZaw55cn4c 2013/07/10(水) NY:AN:NY.AN
失礼
>>831 は static な領域のほうが制限がきつい、と思っているようだけれども、その判断は疑問だね。
0849デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
ヒープって、実行時に動的に割り当てる領域じゃなかった?
0850デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
staticな変数も起動時に割り当てられるよ
つーかQは頭大丈夫か?
0851デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
スタックに置いたら、プログラムサイズをlsで調べられなくなるじゃないですかー!!
0852デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
http://www.ibe.kagoshima-u.ac.jp/edu/gengo0/p8_1.gif

↑ これ、間違っているか?
0853 ◆QZaw55cn4c 2013/07/10(水) NY:AN:NY.AN
>>850
初期化しない分はたしかにそうだね
でも、初期化する分は、普通は、リンク前にすでに組み込まれているんじゃないの?

>>849
コード領域、スタック領域以外をヒープと呼ぶ人もいるようだ(昔なら DS セグメントレジスタでアクセスする分を全部ヒープといっていたようだね)。それに異論を唱えるつもりはない。

static な領域は、確保できないのならコンパイル&リンク時点ではねられるだろう?malloc() 失敗時にちまちま書くのが面倒なときは、えいや、と static にするね、配列なんか特にね。
0854 ◆QZaw55cn4c 2013/07/10(水) NY:AN:NY.AN
>>852
メモリ配置は環境によるね、その図の場合もあるし、ヒープとスタックが逆の場合もあるよ。静的領域(.data と .bss)は普通はコードの後ろに置くようだけれどもね。
0855デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
>>853
初期化する分もコード内に持っていて、プログラム起動時にヒープ領域にコピーされる
0856デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
>>853
>>static な領域は、確保できないのならコンパイル&リンク時点ではねられるだろう?

それは違う。メモリを割り当てるのはあくまでプログラム実行時(ロード時)。
0857デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
あーまたQzの馬鹿講義が始まったよ(ノ∀`)アチャー
0858 ◆QZaw55cn4c 2013/07/10(水) NY:AN:NY.AN
>>855
ふむ。.text, .rdata, .data 各セクションの実行時における配置にすきまがある環境もあるんだね、意識したことはないけど
でも「確保できないのならコンパイル&リンク時点ではねられる」という点はどうであれ同じだと思うだけれども?
コンパイルできたコードが実行時(プログラムロード時)にはねられることもあるの?
0859デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
>>858
クロス開発環境って知ってる?
0860デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
>>858
実行時のメモリ不足なんてコンパイル時に分かるわけないだろう
0861デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
どうやったらこんなアホ人間が出来上がるのやら

アホはアホらしく大人しくしていればいいものを
0862デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
link時にわかることもある
0863デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
>>861
もしかして自分の馬鹿さ加減を人に指摘されて喜ぶ究極のマゾなんじゃねw
0864デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
ちょっと分かりやすく補足してみる。

巨大なstaticな領域を取ったときに、exeファイルとしてNGとか、elfファイルとしてNGとかの
実行ファイル形式にならない場合はコンパイル時にエラーになる。

でもそうならなかったら、実行時にエラーしないとは言えない。
なぜならメモリにロードするのはあくまで実行時だから、実行時に十分なリソースが
なければロードできない。

あとOSによっては仮想アドレス空間は確保しても物理的に確保しない場合もあるから
実行開始したあとにエラーが出る可能性もある。
0865 ◆QZaw55cn4c 2013/07/10(水) NY:AN:NY.AN
>>859
厳密な意味ではやったことはない。同じアーキテクチャでコンパイルと実行を別の環境としたことはあるが

>>859 >>860
なんだかだんだん特殊な状況にはいってきたね、MS-DOS で FEP だのどーでもいい辞書だの TSR だのをバンバン載せた情況で MS-C がきどーしないとか‥‥‥

はじめの話はなんだったの?スタックに配列を載せるのと static に配列を載せるのとどっちが適切か、あるいは使い分けはどこにあるか?じゃなかったの?
0866 ◆QZaw55cn4c 2013/07/10(水) NY:AN:NY.AN
>>864
>物理的に確保しない場合もあるから実行開始したあとにエラーが出る可能性もある。
malloc() で OK が出てもそれを信用してはいけない、という話はよく耳にするね、でも、それって static な領域にも当てはまるものなのか‥‥‥
巨大な配列は、static に置こうが stack に置こうがあんまりかわらない、というのもなんだかねえ‥‥
0867 ◆QZaw55cn4c 2013/07/10(水) NY:AN:NY.AN
>>863
炎上学習法‥‥
0868デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
>>862
だよね〜

ROM で動作する環境もあるから、実行時でないと〜 とか言ってる奴はちょっと知識が足りない。
0869デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
staticを付けたほうがコンパイル時にメモリを多く確保する傾向がある。
0870デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
コンパイル時にauto変数 + static変数の領域を固定サイズで決定しているはずで
巨大なauto変数が生成されるとサイズがあふれて実行時に止まることはあるだろ?
0871デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
>>static な領域は、確保できないのならコンパイル&リンク時点ではねられるだろう?
>>static な領域は、確保できないのならコンパイル&リンク時点ではねられるだろう?
>>static な領域は、確保できないのならコンパイル&リンク時点ではねられるだろう?
>>static な領域は、確保できないのならコンパイル&リンク時点ではねられるだろう?
>>static な領域は、確保できないのならコンパイル&リンク時点ではねられるだろう?
>>static な領域は、確保できないのならコンパイル&リンク時点ではねられるだろう?
自覚してないバカは始末が悪いな。
バカのくせに見栄だけは一人前で特殊な状況と言い逃れようとしてるのが笑える。
0872デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
スタックは拡張できない場合もあるので、巨大な配列をスタックに
置くことは普通しない。しかしサイズを気にするならば、

>>824
> static char a[N][10] = {{0}};
こんな間抜けな事もしない。 WWWW
不要になった後その領域を再利用できない、データ領域では足りない場合がある。
からだ。 WWWW
0873デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
この場合、再利用しなくていいし、足りているからそうしてんだろw
0874デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
この場合に限定するのならstaticにする必要はない。
0875デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
Win32に決め打ちのリンカならstaticで2GBや3GBになるとエラー吐く事はあるけどな
一般にはそういうのは無視してリンクしてしまう
0876デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
細かいこと気にしてるとハゲるぞ
0877デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
ファイル探す時、ディレクトリツリーを辿るのが凄い面倒臭いんですが
どうしたらいいですか?お絵描きして遊んだ後に、Cやろうとしてファイル
探そうとしたらお絵描きフォルダがまず最初に開くので、Cのファイルまで
辿らないといけないので凄い面倒臭いです。
0878デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
>>877
よく開くフォルダはデスクトップにショートカットでも置いとけばいいじゃん。
0879デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
>>878
そんな事できるんですか...
初めて知りました。
後かなり困ってるんですがアプリケーションの関連付けを変えるにはどうしたらいいですか?
VC++ダウンロードしてからアイコンが全部VC++に変わりました。
メモ帳で開きたいのですが....
0880デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
僕もVCダウンロードしたのですがシリアルがわかりません><
0881デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
>>879
windows板いけ
0882 ◆QZaw55cn4c 2013/07/10(水) NY:AN:NY.AN
>>872
おひさしぶり。

>>872, 874
配列の0初期化を明示したかったから static をつけただけです、もっとも static つければ 必然として 零初期化されるし、この場合は意味がないようですね
自動変数の配列でも初期化できるようになったのはいつからだったっけ
0883デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
>>872
>データ領域では足りない場合がある。
いまどきのフラットなメモリ空間ではそんなこともないだろうに?もしかして 64KB の壁のことをいってるの?
0884デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
> 配列の0初期化を明示したかったから static をつけただけです
直後にforで初期化してるのに 意味ねー WWWW
配列は初期化するというのならbが初期化されてねー 一貫性ねー WWWW
そして、アルツハイマーの兆候 WWWW
>> 845 static をつけずにスタックに配列(というおおげさなもの)を置くという方が、むしろ制限を意識する。
>> 847 配列をスタックに置くのはどーかと思うよ。

>>883
バカにはわからない。 WWWW
0885デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
>>871
あまりに巨大な領域に初期値も指定すれば
コンパイル&リンク時に死ぬ事もあるとは思う
が、基本は実行時だよな
0886デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
そっかーbss は実行時だねえ
0887デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
visualC++2010でデバックすると決まって

'stdio.h': No such file or directory

というエラーがでます。部活の先輩にもらったサンプルプログラムなので構文エラーではないです。
このエラーはどういった方法で直すことができるでしょうか?
0888デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
低学歴、かまってちゃん
0889デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
標準ライブラリってデフォルトでコンパイラに入ってなかったけ?
0890デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>889
そのはずなんですが何故かできないんですよね?

なにか初期設定のようなものが必要なんでしょうか?
0891デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>889
ヴァカに構うな
お前だけならまだしも他も迷惑する
0892デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
嫌がらせで全角が混じってる予感
0893デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
bss領域にリミッターが設定されてないとか?
0894デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
スタックに確保される領域は実行時でないとわからんけどね
関数のネストしだい?
0895デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>894
再帰使ってるとわからない。
再帰使ってないなら、最大値を計算することは可能で、そう言うツールもある。

あと .bss とか .data とかの大きさを指定できて、越えるとリンク時にエラーにするものは、組み込みだと珍しくない。
0896デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
再起があってもなくてもスタックサイズはコンパイル時に確定してるだろ?
深い再起で落ちるのはメモリ不足になるためだろ。
0897デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
C/C++ でプログラムをしているとつい忘れてしまうのがスレッドのスタックオーバーフローの問題。
最近の OS はスレッド当たり 2〜8MB のスタック領域を持っているため、よほどのことがない限りスタックが溢れてしまうことはない。
だが、再帰や alloca を積極的に使うようなプログラムではスタックオーバーフローを気にすべきだ。
http://www.nminoru.jp/~nminoru/programming/stackoverflow_handling.html


/F (スタック サイズの設定) (C++)
このオプションを指定しない場合、スタック サイズは既定で 1 MB に設定されます。
http://msdn.microsoft.com/ja-jp/library/tdkhxaks(v=vs.80).aspx
0898デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>896
反証 alloca
0899デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
ここでスタックのサイズって言ってるのは、スタックの消費量のことでしょ?
alloca()使わなくても、再帰がある時点でコンパイル時には不明なんじゃないの?
0900デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
staticで初期値書かなかったら0になるのは、何の仕様?
0901デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
それは規格です。
0902デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
構造体型配列と、memmove関数について質問があります。
以下のような構造体型の配列をmemmove関数でコピーするとき、
コピーを始める位置の指定((name + 1)の部分)は、下のようにしても問題ないのでしょうか?

#include <stdio.h>
#include <string.h>

typedef struct {
 char first[4], last[4];
} NAMESET;

int main(void) {
 NAMESET name[4] = {{"aaa","bbb"},{"ccc","ddd"},{"eee","fff"},{"ggg","hhh"},};
 NAMESET temp[4] = {};

 memmove(temp, name + 1, sizeof(NAMESET) * 2);

 printf("%s %s\n", temp[0].first, temp[0].last);
 printf("%s %s",  temp[1].first, temp[1].last);
 return 0;
}
結果:
ccc ddd
eee fff
0903デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>902
問題ないよ。
09049022013/07/11(木) NY:AN:NY.AN
>>903 返信ありがとうございます。
これと
memmove(temp, name + 1, sizeof(NAMESET) * 2);
これは
memmove(temp, &name[1], sizeof(NAMESET) * 2);
等価であると考えて大丈夫ですか?
後出しで申し訳ありません。
0905デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>904
同じ。

*(name + 1) と name[1] は同じ。
0906デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>903, >>905
すっきりしました。ありがとうございました。
0907デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
スタックとヒープがいつもどっちがどっちか分からなくなります(辞書的な意味で)
どうしたらいいでしょうか?
ポストイットに書いてディスプレイに貼るのはダサいので他の方法でお願いします
0908デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
ヒープ 動的に確保する器
スタック おおよそ後入れ先出しする器

スタックの実装段階でヒープを利用する ということも有り得る話
0909デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
「stack もクソもない山盛り heap」と覚えればいいと思うよ
0910デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
push,popって配列の0での作業なの?
それともstrlen-1での作業?
これが未だに分らない。
0911 ◆QZaw55cn4c 2013/07/11(木) NY:AN:NY.AN
>>910
ヒント:i8086 とかではスタックポインタ(のオフセット)を 0 で初期化するのが普通です
0912デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
スタック(LIFO)はアドレス操作をカプセル化したデータ構造なので、
伸びる方向が上方(順方向)でも下方(逆方向)でも好きな方で実装すればいい。
CPUスタックは下方伸長のものが多い。
0913デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
a
0914デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
当方 物理学科で趣味でプログラミングを趣味でやり始めたんだけど問題発生 一定の数の質点が相互作用しているプログラミングを作ってる最中なんだが
何故か全ての質点が互いに相互作用じゃなくて一個の質点とそれ以外の質点が相互作用するプログラムになっちゃった。
プログラムは全然分からんから教えて欲しいんだけどここで聞いていい?
0915デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>914
まずソースコードを貼れ、つ http://codepad.org/
ルンゲクッタは何次のを使ってる?
0916デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>914
>趣味でプログラミングを
>趣味でやり始めた

何でそんなに趣味であることをそんなに強調してんのコイツ
0917デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
ピタゴラス三体問題は誤差をなくすのに大変なんで勘弁
0918デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>915
//codepad.org/vawU35Ji
ルンゲクッタは4次です プログラミングについてはまったく無知なんでおかしいと思うけど。。
0919デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>916
ミスった
0920 ◆QZaw55cn4c 2013/07/11(木) NY:AN:NY.AN
>>914
>一個の質点とそれ以外の質点が相互作用するプログラムになっちゃった。
しか読んでない。

if (i==j)
Fx[i]+=0;
else
Fx[i]+=(a/dis[i][j])*res_x[i][j];

Fy も同じ処理で
こうするとどうなる?
0921デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
物理に使える数値計算、数式処理ソフトを使え。
ZEROから制作は馬鹿げてる。
0922デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
フリーの数値計算、数式処理ソフト

R言語 Octave Scilab Maxima Python(x,y)
0923デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>920
ありがとう というか自分のアホさかげんに呆れている 当たり前の事に気付かなかった
>>921
粒子法を開発した先生の本でc使ってたから俺もやり始めたんだけど他にいい方法があるのか
0924デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
?ttp://pc-physics.com/rk1.html
0925デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
実用上、フォートランやC言語は、計算速度不足のとき最終的に使えばいい。
とりあえず容易に計算でき、結果が出せたらいいだろう。
0926デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
太陽系の惑星とそれぞれの衛星も含めた全ての軌道を同時にシミュレーションしたいんですけど、どうしたらいいですか?
水星が木星の重力の影響を受けて楕円軌道が大きくなっていて、将来水星が太陽にぶつかって飲み込まれるかもしれないときいたので、
水星がなくなった場合の太陽系の他の惑星の軌道への影響を調べたり、
また水星以外にもそうした変化が起こっていないかなど調べたいのです
0927デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
数学板とか天文板とかに行った方がいいんじゃないか
0928デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
Rで多体問題を数値解析
古典物理学と言えばニュートンの運動方程式で、何かの軌道をプロットするのが定番です。
二個や三個であればPC上のRで計算できるので、試しにやってみましょう。
http://d.hatena.ne.jp/uncorrelated/20130618/1371565502


偏微分方程式の差分解法と Scilab を用いた数値計算
これは,2013年1月 (23,26,29,30,31日) に中央大学で行われた
集中講義・応用解析学 2(理工学部数学科),応用解析特別講義第二 (理工学研究科数学専攻) の講義テキストです.
http://www.infsup.jp/saito/modules/mydownloads/visit.php?cid=1&;lid=18

微分方程式の数値計算: ポチの電子回路論
http://ee-by-pochi.sblo.jp/article/57772181.html

Sympy : Python での記号計算
http://www.ike-dyn.ritsumei.ac.jp/~uchida/scipy-lecture-notes/advanced/sympy.html

Pythonの数式処理ライブラリ SymPy で遊んでみる
http://note.chiebukuro.yahoo.co.jp/detail/n145429

Octaveで遊ぶ数値解析入門
http://members2.jcom.home.ne.jp/keiko0/octavenumerical.pdf

Scipyで常微分方程式を解く
http://oceansciencehack.blogspot.jp/2010_08_01_archive.html

Maxima  常微分方程式
http://phys.hirosaki-u.ac.jp/wiki.cgi/maxima?page=%CA%FD%C4%F8%BC%B0

Maxima で数学を 多機能ぶり
http://ayapin-film.sakura.ne.jp/LJ/Docs/34th.pdf
0929デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
マジで多体問題やるつもりか
論文にしろよ
0930デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>896
確保する容量のことなら Windows は CreateThread( ) でスレッド作成時に指定できる
使う量のことなら、alloca( ) とか再帰で確定しない

要するに、実行するまでわからん場合があるということだ
0931デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
多体問題って今日はじめて知ったが。
N=3でも数値計算しか知られてなかったのが、最近、一般相対論でのN=3の一般解が解けたようだな。
一般相対論で4以上が不可能か証明されてるのか?




弘前大、一般相対論における三体問題の直線解の解析解を導出 2011年2月3日
弘前大学大学院理工学研究科の山田慧生氏と浅田秀樹准教授が、一般相対論における三体問題の直線解を導き、Physical Review 誌に掲載された。
多体問題においては、積分法による一般解の解析解は存在しないとアンリ・ポアンカレによって証明されており、問題解法には摂動や数値解析を用いた計算が従来行われていた。
2007 年に行われた研究会での浅田先生の発表資料 (PDF) によれば、日本天文学会では「三体問題にだけは手を出すな」「相対論にだけは手を出すな」という格言があるほどだったらしい。
http://www.excite.co.jp/News/it_g/20110203/Slashdot_11_02_03_044235.html
0932デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
Linux とかだと勝手にスタック延ばしてくれたりしないっけ?
0933デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
link時にスタックサイズを指定することである程度は回避出来ます
スタックを消費しすぎて、heap領域とかをぶっ壊すこともあるかな
heap領域を使いすぎて、スタック領域を使えない状態になることも

パソコンとかの富豪プログラム環境ではあんまり関係ないかも
0934デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
こっちはニュートン方程式で
http://sci.tea-nifty.com/photos/uncategorized/2013/02/24/pythagoras.gif
http://sci.tea-nifty.com/photos/uncategorized/2013/02/24/pythagoras_2.jpg
http://sci.tea-nifty.com/blog/2013/03/geogebra42gif-2.html

こっちは一般相対論らしい。
http://sci.tea-nifty.com/photos/uncategorized/2013/03/16/new3body01.gif
http://sci.tea-nifty.com/photos/uncategorized/2013/03/16/new3bodyproblem_2.jpg
http://sci.tea-nifty.com/blog/2013/03/13gif-5c3e.html


ピタゴラス3体問題をルンゲクッタ法で解いて見た。
http://www.marble-cafe.com/planet/Pythagoras/Pythagoras.html
にJAVAのソースがあったので、R言語に焼きなおして解いて見た。
http://blogs.yahoo.co.jp/runomee/62375764.html


一般相対論の方程式で弘大が快挙
http://blogimg.goo.ne.jp/user_image/0b/d2/a2f0ed85a1a2180e403f78a2405d99c4.jpg
http://blog.goo.ne.jp/ktonegaw/e/89d89ebc0097bb78a3af6d4e93a35c7a
09359142013/07/11(木) NY:AN:NY.AN
>>931
一般解は存在しないけど特殊解は存在していてニュートン方程式では知られていたけど
一般相対論では初めて見つかったって事だと思うよ
学部生で一般の解析解見つけるなんてすごいなぁ
0936 ◆QZaw55cn4c 2013/07/11(木) NY:AN:NY.AN
ここはCスレなんだが?
0937デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
古典力学で解けないことが知られてるのに、相対論的一般化では解けるってのはオカシイと思ったら、特殊の場合の解析解が求まったという話だった。



多体問題 - Wikipedia
多体問題は、互いに相互作用する3体以上からなる系を扱う問題である。
太陽と地球のような二体問題は厳密に解けるが、例えば月の運動も考える一般の三体問題以上になると解析的に解くことはできないとされる。
18世紀にはジョゼフ=ルイ・ラグランジュが研究を深め、19世紀末にアンリ・ポアンカレによって証明された。
ただしポアンカレの証明は積分法の範囲であり、この範囲以外の解法の存在については現在も不明である。


当たり前ですが,三体問題の一般解,と言うわけではなく,一般相対論の範囲で三体問題の直線解(三つの物体が一直線上に乗っている場合限定の解)を解いた,という物です.
http://slashdot.jp/comments.pl?sid=521452&;cid=1897426
レス数が900を超えています。1000を超えると表示できなくなるよ。