掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.28991

疑点法について・・・
投稿者---ham(2006/11/22 17:49:24)


方程式f(x)=x−cosx=0の近似解を擬点法を用いて求めるCプログラムがわかりません。わかる人がいたら教えてください!!
お願いします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:疑点法について・・・ 28992 ぽへぇ 2006/11/22 18:51:37


No.28992

Re:疑点法について・・・
投稿者---ぽへぇ(2006/11/22 18:51:37)


具体的にどこがわからないのですか?
(全部、というのは問題外)

擬点法(疑点法)って何ですか? 適当なページに誘導して
いただけると幸いです。




この投稿にコメントする

削除パスワード

No.28998

Re:疑点法について・・・
投稿者---ham(2006/11/22 23:01:07)


教科書の問題なので参考ページがなくてすいません。
擬点法とは f(a1)f(b1)<0 となるような近似解の組
x=a1 x=b1 から出発して、漸化式
   bk*f(ak)− ak*f(bk)
xk=――――――――――   (k=1,2,3,・・・)
     f(ak) − f(bk)

         (ak,xk) if f(ak)*f(xk)<0
(ak+1,bk+1)=
         (xk,bk) otherwise 

により、次々とより良い近似解x=xk(k=1,2,3・・)
をもとめていこうとするものです。このプログラムは
f(xk)=0 or x1,x2,x3・・が十分に収束したと判断できる
時点で終了するんです。
問題はどの条件を与えて終了させるかということと、
f(ak)*f(xk)が正のときと負のときの分岐をif構文を使って
どう表すかということです。ちなみに今回の出発点は
a1=0,b1=1とします。説明が足りなくてすいません。


この投稿にコメントする

削除パスワード

No.28999

Re:疑点法について・・・
投稿者---かずま(2006/11/22 23:23:48)


有効数字が 15桁ぐらいになるようにしてみました。
なかなか収束しない場合を考えて、20回で打ち切るようにもしてみました。
#include <stdio.h>
#include <math.h>

double f(double x) { return x - cos(x); }

int main(void)
{
    const double eps = 1e-15;
    const int n = 20;
    double a = 0, b = 1, x0, x1;
    int k = 0;

    for (x0 = 1; ; x0 = x1) {
        x1 = (b * f(a) - a * f(b)) / (f(a) - f(b));
        if (f(a) * f(x1) < 0)
            b = x1;
        else
            a = x1;
        if (fabs((x1 - x0) / x0) < eps || ++k >= n) break;
        printf("%3d %15.12f  %15.12f\n", k, x1, f(x1)); // for debug
    }
    printf("x = %15.12f\n", x1);
    return 0;
}



この投稿にコメントする

削除パスワード

No.29001

Re:疑点法について・・・
投稿者---ぽへぇ(2006/11/23 06:48:38)


もう雑談の領域ですが、これは「はさみうち法」で検索すると
参考ページが出てきますよ。


この投稿にコメントする

削除パスワード

No.29002

Re:疑点法について・・・
投稿者---ham(2006/11/23 08:17:43)


みなさん、迅速な回答ありがとうございます。
早速、試してみたいと思います。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧