matlab使用(解N元方程组)

matlab使用(解N元方程组)

ID:40761539

大小:324.51 KB

页数:21页

时间:2019-08-07

matlab使用(解N元方程组)_第1页
matlab使用(解N元方程组)_第2页
matlab使用(解N元方程组)_第3页
matlab使用(解N元方程组)_第4页
matlab使用(解N元方程组)_第5页
资源描述:

《matlab使用(解N元方程组)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、试着用C语言编程解N元方程组#include#defineM10floatfdel(float*p,intn){inti;floatsum=0;for(i=0;isum+=*(p+i);sum/=n;return(fabs(sum));}voidchu(float*p){inti;for(i=0;i*(p+i)=999;return;}voidprint(float*p,intn){inti;for(i=0;iprintf("x%d=%f",i+1,*(p+i));return;}/**voidscan(float**p,intn){inti,j;for

2、(i=0;ifor(j=0;j{printf("a%d%d=",i+1,j+1);scanf("%f",*(p+i)+j);}return;}**/voidden(float*a,float*b,intn){inti;for(i=0;i*(a+i)=*(b+i);return;}voidjie(float*p0,floata[M][M],float*p,float*b,intn){floatsum=0;inti,j;for(i=0;i{for(j=0;j{if(i!=j)sum=sum+a[i][j]*p0[j];else{n=a[i][j];conti

3、nue;}}*(p+i)=*(b+i)-sum/n;}}main(){floatx0[M],xi[M][M],b[M],x[M];inti,j,n;chu(x0);chu(b);chu(x);for(i=0;i{printf("x0=%f",x0[i]);printf("b=%f",b[i]);printf("x=%f",x[i]);}for(i=0;ifor(j=0;jxi[i][j]=0;printf("shuruwuizhishugeshun=");scanf("%d",&n);printf("shurufangchengzugegexishua[

4、i][j]=");for(i=0;ifor(j=0;j{printf("a%d%d=",i+1,j+1);scanf("%f",&xi[i][j]);}printf("x[1][1]=%f",xi[1][1]);for(i=0;iprint(*(xi+i),n);for(i=0;iprintf("abs=%f",fdel(*(xi+i),n));}#include double f(double x){    double y;    y=2*x*x*x-9*x*x+12*x-3;    return(y);}int main(){  

5、  double t,a=0,b=1,tmp;    t=(a+b)/2;    while((f(b)-f(a))>1e-8)    {        t=(a+b)/2;        tmp=f(t);        if(tmp==0)            break;        else if(tmp<0)            a=t;        else            b=t;    }    printf("该方程在(0,1)之间的根是%.8f,f(%.8f)=%.8f",t,t,f(t));    return 0

6、;}牛顿迭代法(Newton'smethod)又称为牛顿-拉夫逊方法(Newton-Raphsonmethod),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x)=0的根。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x)=0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。另外该方法广泛用于计算机编程中。设r是f(x)=0的根,选取x0作为r初始近似值,过点(x

7、0,f(x0))做曲线y=f(x)的切线L,L的方程为y=f(x0)+f'(x0)(x-x0),求出L与x轴交点的横坐标x1=x0-f(x0)/f'(x0),称x1为r的一次近似值。过点(x1,f(x1))做曲线y=f(x)的切线,并求该切线与x轴交点的横坐标x2=x1-f(x1)/f'(x1),称x2为r的二次近似值。重复以上过程,得r的近似值序列,其中x(n+1)=x(n)-f(x(n))/f'(x(n)),称为r的n+1次近似值,上式称为牛顿迭代公式。解非线性方程f(x)=0的牛顿法是把非线性方程线性化的一种近似方法。把f(x)在x0点附近展开成泰

8、勒级数f(x)=f(x0)+(x-x0)f'(x0)+(x-x0)^2*f''(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。