数值分析课程设计报告(4)

2019-01-07 12:23

《数值分析》课程设计报告

{

int i;

double * c;

CStringArray sa;

c=(double*)malloc(n * sizeof(double)); while(1) {

int pos=str.Find(\ if(pos>=0) {

sa.Add(str.Left(pos)); str=str.Mid(pos+1); } else {

sa.Add(str); break; } }

for(i=0;i<=n-1;i++) {

c[i]=atof(sa[i]); }

return(c); free(c); }

double fancan1::Lagrange(double *x, double *y, double xx, int n) {

int i,j;

double *a,yy=0.0;

a=(double *) malloc(n*sizeof(double)); for(i=0;i<=n-1;i++) { a[i]=y[i]; for(j=0;j<=n-1;j++) if(j!=i) a[i]*=(xx-x[j])/(x[i]-x[j]); yy+=a[i]; }

free(a); return yy; }

16

《数值分析》课程设计报告

double fancan1::niudun(double x[], double y[], int n, double t) {

int i,j; double z,s; s=1.0; z=0.0; if(n<0) return(z); if(n==0) { z=y[0]; return(z); }

z=y[0];

for(i=1;i=i;j--) { y[j]=(y[j-1]-y[j])/(x[j-i]-x[j]); } //printf(\ //for(k=0;k

return(z); }

清空按钮代码:

void fancan1::OnButton2() {

// TODO: Add your control notification handler code here UpdateData(true); edit1=0; edit2=\ edit3=\ edit4=0; edit5=\

UpdateData(false); }

二分法算法代码:

17

《数值分析》课程设计报告

#include \

int dhrt(double a,double b,double h,double eps,double x[],int m,double(*f)(double)) {

int n,js;

double z,y,z1,y1,z0,y0; n=0; z=a;

y=(*f)(z);

while((z<=b+h/2.0)&&(n!=m)) { if(fabs(y)0.0) { y=y1;z=z1; } else { js=0; while(js==0) { if(fabs(z-z1)

18

《数值分析》课程设计报告

} else { z0=(z1+z)/2.0; y0=(*f)(z0); if(fabs(y0)

return(n); }

牛顿迭代法算法代码: #include \#include \

int newt(double *x,double esp,int js,void (*newtf)( double,double [])) {

int k,l;

double y[2],d,p,x0,x1; l=js;k=10;x0=*x;

(*newtf)(x0,y); //计算f(x)与f'(x) d=esp+1.0;

while((d>=esp)&&(l!=0)) { if(fabs(y[1]+1.0==1.0))

19

《数值分析》课程设计报告

{ printf(\ return(-1); } x1=x0-y[0]/y[1]; (*newtf)(x1,y); d=fabs(x1-x0); p=fabs(y[0]); if(p>d) d=p; x0=x1;l=l-1; }

*x=x1;

return(k);

}

20


数值分析课程设计报告(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:应用电化学练习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: