求数值分析打靶法的C语言程序!高悬赏!

来源:百度知道 编辑:UC知道 时间:2024/05/27 07:43:58
我编了很久不是很成功 请高人指点一下!!

我需要一个线性的 (linear shooting method)
一个非线性的 (nonlinear shooting method)

谢谢!!
ODE BVP 打靶法 谢谢!

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

int main()
{
int i,cc;
double h,epsilon,ma,mb,mc,mm,yfa,yfb,xx,y0,yf,panduan;
double yy[11];
h=0.1;
cc=0;
epsilon=0.0002;
ma=5;mm=ma;
y0=1;yf=exp(1);
yy[0]=y0;
do
{
yy[1]=h*mm+yy[0];
for(i=2;i<=10;i++)
{
xx=i*h;
yy[i]=2*yy[i-1]-yy[i-2]+pow(h, 2)*((2+9*xx)*yy[i-1]-(1+9*xx)*exp(xx));
}
panduan=(yy[10]-yf)*(yy[10]-yf)-epsilon*epsilon;
if(panduan>0&&cc==0)
{
yfa=yy[10];
mb=yf*ma/yfa;
mm=mb;
}
else
{
yfb=yy[10];
mc=ma+(mb-ma)*(yf-yfa)/(yfb-yfa);
mm=mc;
ma=mb;yfa=yfb;
}
cc=cc+1;
}
while(panduan>0);