きんじかい
近似解を求める。
2分法
逆線形補間法
ニュートン・ラプソン法
一般的に、計算速度はニュートン・ラプソン法、逆線形補間法、2分法の順に長くなります
#include <stdio.h> #include <math.h> double NewtonRaphson(double x, double eps, int max, int *n); double Bisection(double x1, double x2, double eps, int max, int *n); double InverseLiner(double x1, double x2, double eps, int max, int *n); double func(double x); double dfunc(double x); int main(void) { double eps = 0.00001; double x1 = -1.0, x2 = 1.0, ret; int n, max = 1000; /* printf("x1 = "); scanf("%lf", &x1); printf("x2 = "); scanf("%lf", &x2); printf("ε = "); scanf("%lf", &eps); printf("最大反復回数 = "); scanf("%d", &max); */ ret = Bisection(x1, x2, eps, max, &n); printf("--Bisection method--\n"); printf("反復回数 : %d\n", n); printf("x = %lf\n\n", ret); ret = InverseLiner(x1, x2, eps, max, &n); printf("--Inverse Liner Interpolation method--\n"); printf("反復回数 : %d\n", n); printf("x = %lf\n\n", ret); ret = NewtonRaphson(x1, eps, max, &n); printf("--Newton Raphson method--\n"); printf("反復回数 : %d\n", n); printf("x = %lf\n\n", ret); return 0; } double NewtonRaphson(double x, double eps, int max, int *n) { int i; double next_x; for (i = 0;i < max;i++) { next_x = x - func(x) / dfunc(x); if (fabs(x - next_x) < eps) { *n = i + 1; return x; } x = next_x; } *n = -1; return x; } double Bisection(double x1, double x2, double eps, int max, int *n) { double x; int i; for (i = 0;i < max;i++) { x = (x1 + x2) / 2.0; if (func(x)*func(x1) < 0) x2 = x; else x1 = x; if (fabs(x1-x2) < eps) { *n = i + 1; return x; } } *n = -1; return x; } double InverseLiner(double x1, double x2, double eps, int max, int *n) { double x; int i; for (i = 0;i < max;i++) { x = (x1*func(x2) - x2*func(x1)) / (func(x2) - func(x1)); if (func(x)*func(x1) < 0) x2 = x; else x1 = x; if (fabs(x1-x2) < eps) { *n = i + 1; return x; } } *n = -1; return x; } double func(double x) { return x - cos(x); } double dfunc(double x) { return 1 + sin(x); }
GdkPixbuf
今日も一人で計算機室に引きこもる
朝ちょっとやってたんだけど、どうにもこうにも画像が各行1ピクセルくらいずつずれていく…
ソース見直し
↓
実行
を延々繰り返すのはきっついですよ本当に
どうやら画像の横幅に問題があるらしくって、4で割りきれないとパディング入れてるみたい
これ気づくのに1時間弱かかったぞ…
そういえば家でBMPファイル扱ってるときも同じ状態に陥ってました
あの時はメモリに入れる時にパディング削除してたので、関数戻り値のguchar配列にはパディング入れてないと思い込んでましたorz
それに気づいたら後はヨイヨイで完成
先生のソースは参考にならん
パディング無視してるから、保存するときずれるわ
今度わからないふりして質問してやろう
朝ちょっとやってたんだけど、どうにもこうにも画像が各行1ピクセルくらいずつずれていく…
ソース見直し
↓
実行
を延々繰り返すのはきっついですよ本当に
どうやら画像の横幅に問題があるらしくって、4で割りきれないとパディング入れてるみたい
これ気づくのに1時間弱かかったぞ…
そういえば家でBMPファイル扱ってるときも同じ状態に陥ってました
あの時はメモリに入れる時にパディング削除してたので、関数戻り値のguchar配列にはパディング入れてないと思い込んでましたorz
それに気づいたら後はヨイヨイで完成
先生のソースは参考にならん
パディング無視してるから、保存するときずれるわ
今度わからないふりして質問してやろう
お腹減った
バイト終了~
授業の後にバイト先へ直行するのはちょっとしんどい
それ以上に空腹がつらい
何か買って食べればいいけどお金持ったいないし
眠くなるかなぁーとは思いましたが、今日は大丈夫でした
本当は給料日明日だけど今日もろた!
お財布ほくほくwww
45000円も貰ったwWii買えるww
取り敢えず壊れかけのレディオつき携帯買い替えに2万くらい使ってーバスに5000円くらい使ってー後は経費はないかなー
20000円も自由に使えるww
お金稼ぐのって大変だなぁますますケチに拍車がかかりそうです
家帰ったらすること
・レポートの下書き
・4値ディザリング
・FE試験勉強
・ご飯食べる!!
授業の後にバイト先へ直行するのはちょっとしんどい
それ以上に空腹がつらい
何か買って食べればいいけどお金持ったいないし
眠くなるかなぁーとは思いましたが、今日は大丈夫でした
本当は給料日明日だけど今日もろた!
お財布ほくほくwww
45000円も貰ったwWii買えるww
取り敢えず壊れかけのレディオつき携帯買い替えに2万くらい使ってーバスに5000円くらい使ってー後は経費はないかなー
20000円も自由に使えるww
お金稼ぐのって大変だなぁますますケチに拍車がかかりそうです
家帰ったらすること
・レポートの下書き
・4値ディザリング
・FE試験勉強
・ご飯食べる!!
chmod 700 file
家では今のところGTK+が出来ないので、大学のLinuxでGTKを使ってみました
家で画像をいじる時はBMP扱えるクラスを使ってて、(i,j)の赤要素には
変数[j][i].r
でアクセス出来るようにしてあるけど、普通は
変数[(j * 横幅 + i) * 3]
でアクセスするもんみたいね。
メモリ確保とかが楽だからかなぁ
chmodで色々とパーミッション変更する必要があるみたいですね
chmod久しぶりに使った
mkdirも久しぶりに使った
gtkのリファレンスみないとな
家で画像をいじる時はBMP扱えるクラスを使ってて、(i,j)の赤要素には
変数[j][i].r
でアクセス出来るようにしてあるけど、普通は
変数[(j * 横幅 + i) * 3]
でアクセスするもんみたいね。
メモリ確保とかが楽だからかなぁ
chmodで色々とパーミッション変更する必要があるみたいですね
chmod久しぶりに使った
mkdirも久しぶりに使った
gtkのリファレンスみないとな