欢迎来到天天文库
浏览记录
ID:57335038
大小:148.50 KB
页数:5页
时间:2020-08-12
《梯度法求解n元一次方程组的解.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、梯度法解线性方程组的解算法描述:梯度法又称最速下降法,通常用来求非齐次方程组(,,…)=0(i=0,1,..,n-1)的一组实根算法如下:1.确定目标函数为:F=F(,,…)=。2.选取一组初值,,…。3.计算目标函数F的值。4.F#includevoidprintf_fangchengzu(dou
2、blea[100][100],intn);voidprintf_jie(doublejie[],intn);voidprintf_menu();voidprintf_help();voidmain(){inti,j,k;intchoose;doublesum,sum_piandao,s,e;//设置精度的intn;//记录当前求解的是几元方程组doublean[100][100];//记录方程组的系数doublexn[100];//记录方程的解doublesn_piandao[100]={0},sn_yuan[100];//记录方
3、程的解e=1;//设置默认精度printf_menu(&choose);while(1){switch(choose){case1:{printf("请输入方程组个数:");scanf("%d",&n);printf("请输入求解的精度:");scanf("%lf",&e);//随便取一组方程作为初解for(i=0;i4、);}}//提示用户printf_fangchengzu(an,n);printf("求解精度为:%f",e);//循环逐步求精while(1){sum=0;//Fsum_piandao=0;//Dfor(i=0;i5、=0;k6、se3:{printf_help();printf_menu(&choose);break;}//用户选择推出case0:{return;}}}}/**打印方程组*a[]为方程组的系数*n为未知数的个数*/voidprintf_fangchengzu(doublea[100][100],intn){inti,j;printf("**************你输入的方程组如下***************");for(i=0;i7、]>0)printf("%3fX%d+",a[i][j],j+1);elseprintf("%3fX%d",a[i][j],j+1);}printf("%3f=0",a[i][j]);}printf("*********************************************");}/**输入方程组的解*jie[]存放解的数组,n为未知数的个数*/voidprintf_jie(doublejie[],intn){inti;printf("**************你输入的方程组解如下*******8、********");for(i=0;i
4、);}}//提示用户printf_fangchengzu(an,n);printf("求解精度为:%f",e);//循环逐步求精while(1){sum=0;//Fsum_piandao=0;//Dfor(i=0;i5、=0;k6、se3:{printf_help();printf_menu(&choose);break;}//用户选择推出case0:{return;}}}}/**打印方程组*a[]为方程组的系数*n为未知数的个数*/voidprintf_fangchengzu(doublea[100][100],intn){inti,j;printf("**************你输入的方程组如下***************");for(i=0;i7、]>0)printf("%3fX%d+",a[i][j],j+1);elseprintf("%3fX%d",a[i][j],j+1);}printf("%3f=0",a[i][j]);}printf("*********************************************");}/**输入方程组的解*jie[]存放解的数组,n为未知数的个数*/voidprintf_jie(doublejie[],intn){inti;printf("**************你输入的方程组解如下*******8、********");for(i=0;i
5、=0;k6、se3:{printf_help();printf_menu(&choose);break;}//用户选择推出case0:{return;}}}}/**打印方程组*a[]为方程组的系数*n为未知数的个数*/voidprintf_fangchengzu(doublea[100][100],intn){inti,j;printf("**************你输入的方程组如下***************");for(i=0;i7、]>0)printf("%3fX%d+",a[i][j],j+1);elseprintf("%3fX%d",a[i][j],j+1);}printf("%3f=0",a[i][j]);}printf("*********************************************");}/**输入方程组的解*jie[]存放解的数组,n为未知数的个数*/voidprintf_jie(doublejie[],intn){inti;printf("**************你输入的方程组解如下*******8、********");for(i=0;i
6、se3:{printf_help();printf_menu(&choose);break;}//用户选择推出case0:{return;}}}}/**打印方程组*a[]为方程组的系数*n为未知数的个数*/voidprintf_fangchengzu(doublea[100][100],intn){inti,j;printf("**************你输入的方程组如下***************");for(i=0;i7、]>0)printf("%3fX%d+",a[i][j],j+1);elseprintf("%3fX%d",a[i][j],j+1);}printf("%3f=0",a[i][j]);}printf("*********************************************");}/**输入方程组的解*jie[]存放解的数组,n为未知数的个数*/voidprintf_jie(doublejie[],intn){inti;printf("**************你输入的方程组解如下*******8、********");for(i=0;i
7、]>0)printf("%3fX%d+",a[i][j],j+1);elseprintf("%3fX%d",a[i][j],j+1);}printf("%3f=0",a[i][j]);}printf("*********************************************");}/**输入方程组的解*jie[]存放解的数组,n为未知数的个数*/voidprintf_jie(doublejie[],intn){inti;printf("**************你输入的方程组解如下*******
8、********");for(i=0;i
此文档下载收益归作者所有