2010年7月14日水曜日

ポインタ・数値微分についてと次回への課題

ポインタ
ポインタを使ってファイルに書き込む作業(過去の記事参照)
ポインタ:メモリのアドレス
イメージはファイルの置いてある場所
ex 棚の右から3番目とか

数値微分
微分を差分に置き換える。
微分はf(x,t)=dx/dt
差分はxi+1-xi=f(x,t)Δt
     詳しくは過去記事に数式が記載されている。

次回の課題
二次元振り子(近似なし)を差分プログラムを作成。

2010年7月8日木曜日

昨日のプログラムは動きました

以下のプログラムは、ぼくの計算機ではコンパイルと実行ができました
ので、昨日のプログラムには、文字化けがあるような気がします
#include のあとが問題かもしれません
羽部

2010年7月7日水曜日

ファイルへの書き込み

<今日の内容>
・sinxのテーラー展開の復習
・得られたデータをファイルに書き込む
・Gnuplotでデータをプロットする

〜ファイルへの書き込み〜
「./a.out > ”ファイル名”」とすればリダイレクトされて、./a.outの内容がファイルに書き込まれる。

sinxの展開のプログラムでpow関数を用いた方がコンパイルできなかった。
→各自、原因を考えて来てください

プログラム
#include
#include
main()
{
int i, n;
double x;
double dx, s ,c1,c3,c5,c7,c9;
x=0.0e0;
n= 70;
dx = 0.1e0;
x = -dx ;
c1=1;
c3=c1/2/3;
c5=c3 / 4 /5;
c7 = c5 /6 /7;
c9 = c7 /8 /9;
for (i=1;i<=n; i++ ){
x = x + dx;
s = x -c3 *pow(x,3.0) + c5*pow(x,5.0) - c7 * pow(x,7.0)+c9* pow(x,9.0);
printf(" %d %f %e \n", i , x, s);
}
}