www.diy567.com累了,去上面休息一下下,QQ空间,美文,非主流,网络日记,搞笑短信,祝福短信,热门短信,有意思啊

6.牛顿-科特斯求积公式,求定积分

C/C++ code
<!--code highlighting produced by actipro codehighlighter (freeware)http://www.codehighlighter.com/-->#include<stdio.h>#include<math.h>int NC(a,h,n,r,f)float (*a)[];float h;int n,f;float *r;{ int nn,i; float ds; if(n>1000||n<2) { if (f) printf("\n Faild! Check if 1<n<1000!\n",n); return(-1);}if(n==2){ *r=0.5*((*a)[0]+(*a)[1])*(h);return(0);}if (n-4==0) { *r=0;*r=*r+0.375*(h)*((*a)[n-4]+3*(*a)[n-3]+3*(*a)[n-2]+(*a)[n-1]);return(0);}if(n/2-(n-1)/2<=0)nn=n;elsenn=n-3;ds=(*a)[0]-(*a)[nn-1];for(i=2;i<=nn;i=i+2)ds=ds+4*(*a)[i-1]+2*(*a)[i];*r=ds*(h)/3;if(n>nn)*r=*r+0.375*(h)*((*a)[n-4]+3*(*a)[n-3]+3*(*a)[n-2]+(*a)[n-1]);return(0);}main(){ float h,r; int n,ntf,f; int i; float a[16];printf("Input the x[i](16):\n"); for(i=0;i<=15;i++) scanf("%d",&a[i]);h=0.2;f=0;ntf=NC(a,h,n,&r,f);if(ntf==0) printf("\nR=%f\n",r); else printf("\n Wrong!Return code=%d\n",ntf); getch();}

7.雅克比迭代,求解方程近似解

C/C++ code
<!--code highlighting produced by actipro codehighlighter (freeware)http://www.codehighlighter.com/-->#include <stdio.h>#include <math.h>#define N 20#define MAX 100#define e 0.00001int main(){ int n; int i,j,k; float t; float a[N][N],b[N][N],c[N],g[N],x[N],h[N]; printf("\nInput dim of n:"); scanf("%d",&n); if(n>N) { printf("Faild! Check if 0<n<N!\n"); getch(); return 1; } if(n<=0) {printf("Faild! Check if 0<n<N!\n"); getch(); return 1;} printf("Input a[i,j],i,j=0…%d:\n",n-1); for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%f",&a[i][j]); printf("Input c[i],i=0…%d:\n",n-1); for(i=0;i<n;i++)scanf("%f",&c[i]); for(i=0;i<n;i++) for(j=0;j<n;j++) { b[i][j]=-a[i][j]/a[i][i]; g[i]=c[i]/a[i][i]; } for(i=0;i<MAX;i++) { for(j=0;j<n;j++) h[j]=g[j]; { for(k=0;k<n;k++) { if(j==k) continue; h[j]+=b[j][k]*x[k]; } } t=0; for(j=0;j<n;j++) if(t<fabs(h[j]-x[j])) t=fabs(h[j]-x[j]); for(j=0;j<n;j++) x[j]=h[j]; if(t<e) { printf("x_i=\n"); for(i=0;i<n;i++) printf("x[%d]=%f\n",i,x[i]); getch(); return 0; } printf("after %d repeat , return\n",MAX); getch(); return 1; } getch();}

8.秦九昭算法

C/C++ code
<!--code highlighting produced by actipro codehighlighter (freeware)http://www.codehighlighter.com/-->#include <math.h>float qin(float a[],int n,float x){ float r=0; int i; for(i=n;i>=0;i--) r=r*x+a[i]; return r;}main(){ float a[50],x,r=0; int n,i; do { printf("Input frequency:"); scanf("%d",&n); } while(n<1); printf("Input value:"); for(i=0;i<=n;i++) scanf("%f",&a[i]); printf("Input frequency:"); scanf("%f",&x); r=qin(a,n,x); printf("Answer:%f",r); getch();}

9.幂法

C/C++ code
<!--code highlighting produced by actipro codehighlighter (freeware)http://www.codehighlighter.com/-->#include<stdio.h>#include<math.h>#define N 100#define e 0.00001#define n 3float x[n]={0,0,1};float a[n][n]={{2,3,2},{10,3,4},{3,6,1}};float y[n];main(){ int i,j,k; float xm,oxm; oxm=0; for(k=0;k<N;k++) { for(j=0;j<n;j++) { y[j]=0; for(i=0;i<n;i++) y[j]+=a[j][i]*x[i]; } xm=0; for(j=0;j<n;j++) if(fabs(y[j])>xm) xm=fabs(y[j]); for(j=0;j<n;j++) y[j]/=xm; for(j=0;j<n;j++) x[j]=y[j]; if(fabs(xm-oxm)<e) { printf("max:%f\n\n",xm); printf("v[i]:\n"); for(k=0;k<n;k++) printf("%f\n",y[k]); break; } oxm=xm; } getch();}

10.高斯塞德尔

C/C++ code
<!--code highlighting produced by actipro codehighlighter (freeware)http://www.codehighlighter.com/-->#include<math.h>#include<stdio.h>#define N 20#define M 99float a[N][N];float b[N];int main(){ int i,j,k,n; float sum,no,d,s,x[N]; printf("\nInput dim of n:"); scanf("%d",&n); if(n>N) { printf("Faild! Check if 0<n<N!\n "); getch(); return 1; } if(n<=0) { printf("Faild! Check if 0<n<N!\n ");getch();return 1;} printf("Input a[i,j],i,j=0…%d:\n",n-1); for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%f",&a[i][j]); printf("Input b[i],i=0…%d:\n",n-1); for(i=0;i<n;i++) scanf("%f",&b[i]); for(i=0;i<n;i++) x[i]=0; k=0; printf("\nk=%dx=",k); for(i=0;i<n;i++) printf("%12.8f",x[i]); do { k++; if(k>M){printf("\nError!\n”);getch();} break; } no=0.0; for(i=0;i<n;i++) { s=x[i]; sum=0.0; for(j=0;j<n;j++) if (j!=i) sum=sum+a[i][j]*x[j]; x[i]=(b[i]-sum)/a[i][i]; d=fabs(x[i]-s); if (no<d) no=d; } printf("\nk=%2dx=",k); for(i=0;i<n;i++) printf("%f",x[i]);}while (no>=0.1e-6);if(no<0.1e-6){ printf("\n\n answer=\n"); printf("\nk=%d",k); for (i=0;i<n;i++) printf("\n x[%d]=%12.8f",i,x[i]);}getch();}

注:本文转自:http://topic.csdn.net/u/20080509/13/d4500a19-10aa-4fdf-b876-8e30f4daa331.html?seed=880334510

10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔 ...相关推荐

  1. 10个重要的算法C语言实现源代码(留着以后看)

    包括拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔 .都是经典的数学算法,希望能开托您的思路.转自kunli.info 1.拉格朗日插值多项式 ,用于离散数 ...

  2. c语言龙贝格积分法实验报告,数值作业:龙贝格算法计算积分C语言实现

    数值作业:龙贝格算法计算积分C语言实现 数值作业:龙贝格算法计算积分C语言实现 根据Romberg算法计算定积分,和变步长的Simpson算法的输入都一样.算法基本分析:输入a,b(积分上下限),n为 ...

  3. 复化梯形公式求椭圆周长C语言,C语言编程解线性,非线性方程,龙贝格算法.docx

    C语言编程解线性,非线性方程,龙贝格算法 课程设计课程名称:数值计算B 设计题目:数值计算B课程设计学号:姓名:完成时间: 2015年10月27日题目一:非线性方程求根一.题目假设人口随时间和当时人口 ...

  4. HDU1212(大数取模-秦九昭算法)

    秦九昭算法: 把一个n次多项式f(x)=a[n]x^n+ a[n-1]x^(n-1)+-+a[1]x+a[0]改写成如下形式:f(x)=a[n] x^n + a[n-1]x^(n-1))+-+a[1] ...

  5. 龙贝格数值分析作业c语言,数值分析龙贝格实验报告.doc

    数值分析龙贝格实验报告 实验三 龙贝格方法 [实验类型] 验证性 [实验学时] 2学时 [实验内容] 1.理解龙贝格方法的基本思路 2.用龙贝格方法设计算法,编程求解一个数值积分的问题. [实验前的预 ...

  6. 数值计算方法(三)——变步长梯形法与龙贝格算法

    变步长梯形算法 提出背景: 复化求积公式虽然能提高精度,但需要给出步长,步长精度太大则精度低,步长太小则计算量大,难以找到一个合适的步长(划分成的小区间的个数) 算法描述: 1.对所有已存在的子区间进 ...

  7. 变步长梯形法与龙贝格算法

    文章目录 1. 变步长梯形法 算法描述 流程图 代码实现 2. 龙贝格算法 算法描述 例子 代码实现 1. 变步长梯形法 提出背景: 复化求积公式虽然能提高精度,但需要给出步长,步长精度太大则精度低, ...

  8. 数值积分公式及龙贝格(Romberg)算法实现matlab

    一.数值积分方法得基本思想 二.复化求积公式 三.基于复化梯形求积公式的高精度求积算法--Richardson外推法和Romberg算法 四.Romberg算法的matlab程序: function ...

  9. ACM数论----秦九昭算法

    一.算法简介 一般地,一元n次多项式的求值需要经过(n+1)*n/2次乘法和n次加法,而秦九韶算法只需要n次乘法和n次加法.在人工计算时,一次大大简化了运算过程. 二.算法应用 1.大整数取模(hdu ...

  10. UVA-10929-You can say 11(秦九昭算法+同余与模算术)

    原题链接 1000位大数取余: 秦九昭算法+同余与模算术: 1314 = (((1)*10+3)*10+1)*10+4 ( a + b ) % n = ( ( a % n ) + ( b % n ) ...

最新文章

  1. Vue实现左右菜单联动实现
  2. 函数作为变量,类型---golang
  3. 移动游戏高速增长为市场营销带来新的机会
  4. Microsoft Office Visio
  5. ThreadLocal为什么会内存泄漏(java高级面试)
  6. 修复迁移后Net Standard项目中的错误
  7. 33款你可能不知道的开源爬虫软件工具
  8. 蒙特卡洛采样_PR Sampling : 蒙特卡洛采样、重要性采样及python实现
  9. 深度 | Android 整体设计及背后意义
  10. 【Python】- yield 使用浅析
  11. php 图片上传打印路径,php上传图片到指定位置路径保存到数据库的具体实现
  12. 完整卸载SQL Server2008
  13. 多元统计分析朱建平pdf_应用多元统计分析课后答案朱建平版
  14. 非好友怎么进qq权限空间
  15. 层次分析法(AHP)——MATLAB在数学建模中的应用(第2版)
  16. 【面试】2019工商银行软件开发中心(上海)笔面试记录
  17. UVA - 10041 Vito's Family (中位数)
  18. 【现已失效】【转载】QQ空间一键点赞方法
  19. 近红外光谱分析仪的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  20. 电脑开机转到计算机状态页面,如何让电脑每次开机都恢复原来的状态?-开机启动项怎么设置...

热门文章

  1. 开拓者队医当选年度最佳 球迷:罗伊情何以堪
  2. 品胜WPR003N、WMB001N刷Openwrt
  3. python打开文件,出现OSError
  4. c语言薛定谔方程,如何解薛定谔方程?-- k · p method
  5. 百度竞价关键词选词技巧
  6. python数据表盘_构建一个简单地分析表盘
  7. 大数据讲课笔记1.6 压缩与打包
  8. vue中对鼠标划过事件处理方式
  9. 周九常:个人知识管理的三个重点领域
  10. EAS的各种日志说明 (转载)