next up previous
Next: B. 3次元波動方程式の数値シミュレーション Up: 現象数理特論B 1次元波動方程式の初期値境界値問題 Previous: 4.0.0.1 注意

A. 滑らかなコンパクト台の関数の例

横田一郎, 多様体とモース理論, 現代数学社 (1978) から。

(4) $\displaystyle f(x)\DefEq \left\{ \begin{array}{ll} 0 & \mbox{($x\le 0$)} \exp\left(-\Dfrac{1}{x}\right) & \mbox{($x> 0$)} \end{array} \right.$

で定義される $ f\colon\R\to \R$$ C^\infty$-級である。

(5) $\displaystyle g(x)\DefEq \frac{f(x)}{f(x)+f(1-x)}$

とおくと、$ g$$ C^\infty$-級で

$\displaystyle 0\le g\le 1, \quad
g(x)=\left\{
\begin{array}{ll}
0 & \mbox{($x\le 0$)} \\
1 & \mbox{($x\ge 1$)}
\end{array}\right.
$

$ a>b>0$ を満たす任意の $ a$, $ b$ に対して、 $ h_{a,b}\colon\R\to\R$

(6) $\displaystyle h_{a,b}(x)\DefEq g\left(\frac{x+a}{a-b}\right) g\left(\frac{-x+a}{a-b}\right)$

で定めると、$ h_{a,b}$$ C^\infty$-級で、

$\displaystyle h_{a,b}(x)
=
\left\{
\begin{array}{ll}
1 & \mbox{($\vert x\vert\le b$)}\\
0 & \mbox{($\vert x\vert\ge a$)}
\end{array}\right.
$


/* ./h | graph -b -g 1 | xplot */

#include <math.h>

int main()
{
  double h_ab(double, double, double);
  int i, n;
  double a, b, x, h;
  n = 100;
  a = - 3.0; b = 3.0;
  h = (b - a) / n;
  for (i = 0; i <= n; i++) {
    x = a + i * h;
    printf("%f %f\n", x, h_ab(x, 2.0, 1.0));
  } 
}

double f(double x)
{
  if (x <= 0)
    return 0;
  else
    return exp(- 1.0 / x);
}

double g(double x)
{
  return f(x) / (f(x) + f(1 - x));
}

double h_ab(double x, double a, double b)
{
  return g((x + a) / (a - b)) * g((- x + a) / (a - b));
}

	gnuplot> plot [-3:3] [-0.5:1.5] "h.data" with lines
gnuplot> set output "h.eps"
gnuplot> set term postscript eps color
gnuplot> replot

\includegraphics[width=8cm]{wave1d/h.eps}


next up previous
Next: B. 3次元波動方程式の数値シミュレーション Up: 現象数理特論B 1次元波動方程式の初期値境界値問題 Previous: 4.0.0.1 注意
Masashi Katsurada
平成19年7月21日