オイラーの公式を使う解法
Posted: 2009年11月04日(水) 13:29
★ 大学生ですが質問させてください! NEW / クロカ 引用
f'(x)=3f(x)+1 これの求め方は
「f(0)=2であれば、f'(0)3×2+1であるから、オイラー法によって、f(Δx)=2+7×Δx と求まっていく。 f(2Δx)は求まった f(Δx)を使えばよい。」
と書いてありますが、
さっぱり意味がわかりません。
それで、解く必要のある問題は
「実際にこのもんだいをオイラー法を用いて解き、f(3)を求めなさい。また、解析解と比較せよ。」
です。
それで、友人がつくった答えが
#include <stdio.h>
#include <math.h>
main()
{
int i, n;
double f,f0,x,dx,sum;
dx=0.0000001;
n=3.0/dx;
f0=2.0;
sum=0.0;
for(i=0;i<n+1;i++){
sum=sum+(7.0*exp(3.0*i*dx))*dx;
}
f=f0+sum;
printf("%f %f\n",f,(-1.0/3.0)+(7.0/3.0)*exp(9.0));
return(0);
}
なんですが、あっているかはともかく
この文自体が理解できません。
この文の意味をだれか教えてくださいませんか? よろしくおねがいします
f'(x)=3f(x)+1 これの求め方は
「f(0)=2であれば、f'(0)3×2+1であるから、オイラー法によって、f(Δx)=2+7×Δx と求まっていく。 f(2Δx)は求まった f(Δx)を使えばよい。」
と書いてありますが、
さっぱり意味がわかりません。
それで、解く必要のある問題は
「実際にこのもんだいをオイラー法を用いて解き、f(3)を求めなさい。また、解析解と比較せよ。」
です。
それで、友人がつくった答えが
#include <stdio.h>
#include <math.h>
main()
{
int i, n;
double f,f0,x,dx,sum;
dx=0.0000001;
n=3.0/dx;
f0=2.0;
sum=0.0;
for(i=0;i<n+1;i++){
sum=sum+(7.0*exp(3.0*i*dx))*dx;
}
f=f0+sum;
printf("%f %f\n",f,(-1.0/3.0)+(7.0/3.0)*exp(9.0));
return(0);
}
なんですが、あっているかはともかく
この文自体が理解できません。
この文の意味をだれか教えてくださいませんか? よろしくおねがいします