SSブログ

第12回の問題3を1変数関数で求めるには・・・ [重積分]

重積分の第12回の問題3の面積を1変数関数の積分でどうやって求めるかというと、細かい議論が少しいるのだけれど、その議論を、まずは、すっ飛ばすことにするにゃ。


図を見ればわかるけれど、この図形はx軸に関して対称だから、上半分、つまりy≧0の部分の面積を求め、これを2倍すれば求める面積になる。

zu-13-1.jpg



ということで、

  

を計算し、これを2倍すれば、求める面積になる。


何処からこんなのが出てきたかというと、x=rcosθy=rsinθr=1–cosθから

  

となり、あとは、置換積分の

  

というありがたい式からこうなる。
 ―――実は、ここで少しズルをしている(^^ゞ 詳しくは、細かい議論で―――



で、 0≦θ≦π

  

となることから、xは、θ=π/3の時に最大で、最大値は1/4となる。


少し細かい議論というのは、

  

と言うもの。


これは下の図を見てもらうとよくわかると思う。



heart_1.GIF


heart_2.GIF

heart_3.GIF

求める面積は、青の部分で、これは黄色の部分から紫の部分を引いたもの。

y+という関数は−2≦x≦1/4の関数、y-という関数は0≦x≦1/4・・・。
こういうちょっと細かい議論をしないといけない。

計算はしないぞ。真面目に計算をすると、同じ答えるになるはずだにゃ。上半分の面積は3π/4だから、面積は3π/2になるはずだ。

ちなみに、(1/4,√3/4)は変曲点。



答が一致することの検算は、台形公式でやってある。

今回は、C言語のプログラムを・・・。

#include <stdio.h>
#include <math.h>

double f(double x) {
        return (1-cos(x))*sin(x)*(-sin(x)+2.*sin(x)*cos(x));
}
double daikei (double a, double b, int n) {
    double s, h;
    int i;

    h=(b-a)/n;
    s = (f(a)+f(b))/2;
    for (i=1;i < n; i++) {
        s= s+ f(a+i*h);
    }
    return s = s*h;
}
int main() {
    int n;
    double pi;
   
    pi=4*atan(1.0);
    n=100;
    printf("s=%f\n", daikei(pi,0,n));
    printf("kotae=%f\n",3.*pi/4);
    return 0;
}

100分割で計算すると、3π/4≒2.356194となるにゃ。
だから、間違っちゃ〜いない(^^ゞ

台形公式のBASICのプログラムは
http://nemuneko-gensokyou.blog.so-net.ne.jp/2015-04-09-3
に書いてある。
def f(x)=ホニャララ
の部分と、aとbの値を変えればいいにゃ。





nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。