



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
此文档收集于网络,如有侵权请联系网站删除C+实现 牛顿迭代 解非线性方程组(二元二次为例)求解 0=x*x-2*x-y+0.5; 0=x*x+4*y*y-4;的方程#include#include#define N 2 / 非线性方程组中方程个数、未知量个数 #define Epsilon 0.0001 / 差向量1范数的上限#define Max 100 / 最大迭代次数using namespace std;const int N2=2*N;int main()void ff(float xxN,float yyN); /计算向量函数的因变量向量yyNvoid ffjacobian(float xxN,float yyNN); /计算雅克比矩阵yyNNvoid inv_jacobian(float yyNN,float invNN); /计算雅克比矩阵的逆矩阵invvoid newdundiedai(float x0N, float invNN,float y0N,float x1N); /由近似解向量 x0 计算近似解向量 x1float x0N=2.0,0.25,y0N,jacobianNN,invjacobianNN,x1N,errornorm;int i,j,iter=0; /如果取消对x0的初始化,撤销下面两行的注释符,就可以由键盘x读入初始近似解向量for( i=0;ix0i;cout初始近似解向量:endl;for (i=0;iN;i+)coutx0i ; coutendl;coutendl;doiter=iter+1;cout第 iter 次迭代开始endl; /计算向量函数的因变量向量 y0ff(x0,y0); /计算雅克比矩阵 jacobianffjacobian(x0,jacobian); /计算雅克比矩阵的逆矩阵 invjacobianinv_jacobian(jacobian,invjacobian); /由近似解向量 x0 计算近似解向量 x1 newdundiedai(x0, invjacobian,y0,x1); /计算差向量的1范数errornormerrornorm=0;for (i=0;iN;i+)errornorm=errornorm+fabs(x1i-x0i);if (errornormEpsilon) break;for (i=0;iN;i+)x0i=x1i; while (iterMax);return 0;void ff(float xxN,float yyN) /调用函数float x,y; int i; x=xx0;y=xx1;yy0=x*x-2*x-y+0.5; yy1=x*x+4*y*y-4; /计算初值位置的值 cout向量函数的因变量向量是: endl;for( i=0;iN;i+) coutyyi ; coutendl;coutendl;void ffjacobian(float xxN,float yyNN) float x,y; int i,j;x=xx0;y=xx1;/jacobian have n*n element /计算函数雅克比的值yy00=2*x-2;yy01=-1;yy10=2*x;yy11=8*y; cout雅克比矩阵是: endl;for( i=0;iN;i+) for(j=0;jN;j+) coutyyij ; coutendl; coutendl;void inv_jacobian(float yyNN,float invNN)float augNN2,L; int i,j,k; cout开始计算雅克比矩阵的逆矩阵 :endl; for (i=0;iN;i+) for(j=0;jN;j+) augij=yyij; for(j=N;jN2;j+)if(j=i+N) augij=1;else augij=0; for (i=0;iN;i+) for(j=0;jN2;j+) coutaugij ; coutendl;coutendl; for (i=0;iN;i+) for (k=i+1;kN;k+) L=-augki/augii;for(j=i;jN2;j+) augkj=augkj+L*augij; for (i=0;iN;i+) for(j=0;jN2;j+) coutaugij ; coutendl;cout0;i-) for (k=i-1;k=0;k-) L=-augki/augii;for(j=N2-1;j=0;j-) augkj=augkj+L*augij; for (i=0;iN;i+) for(j=0;jN2;j+) coutaugij ; coutendl;cout=0;i-) for(j=N2-1;j=0;j-)augij=augij/augii;for (i=0;iN;i+) for(j=0;jN2;j+) coutaugij ; coutendl; for(j=N;jN2;j+) invij-N=augij;coutendl;cout雅克比矩阵的逆矩阵: endl;for (i=0;iN;i+) for(j=0;jN;j+) coutinvij ; coutendl;coutendl;void newdundiedai(float x0N, float invNN,float y0N,float x1N)ash n. 灰;灰末meander n. (指河流等)蜿蜒缓慢流动int i,j;cushion n. (坐、跪时用的)软垫;靠垫;float sum=0;apartment n. 公寓住宅;for(i=0;iN;i+)abolish vt. 废除;废止 sum=0; for(j=0;jN;j+)whichever pron. 无论哪一个;任何一个 sum=sum+invij*y0j;teens n. 十几岁(13至19岁的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- AI领域求职全攻略:德勤面试常见问题及答案
- 教育行业考试常见面试题及答案
- 建筑局面试实战模拟题及答案解析
- 人才选拔秘籍:四员干部面试题库解析专家解读
- 金融行业招聘面试实战模拟题库:债券基金投资策略
- 行业精英人才库:拍卖师面试题库实战解析招聘技巧分享
- 学校安全知识培训课件收获
- 学校人员应急知识培训课件
- 银行零售业务数字化营销转型中的精准广告投放效果跟踪研究与应用案例报告2025
- 煤炭清洁燃烧技术市场应用前景分析报告
- 楼板下加钢梁加固施工方案
- 食堂食材配送服务应急预案
- 建筑行业人才培养与发展战略研讨会
- 外感病因辨证
- 成人高等教育学士学位英语核心单词+短语
- 骨科手术的围手术期疼痛管理
- 油罐车蒸罐洗罐操作规程
- (完整)医疗器械设计和开发一般过程-配全套表格模板
- 组织行为学复习纲要冬课件
- TGDMDMA 0026-2023 牙科种植用导板
- 医院发生火灾的应急预案及处理流程
评论
0/150
提交评论