免费预览已结束,剩余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)int i,j;float sum=0;for(i=0;i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 论文写作中的语法与表达规范
- 工程合同由第三方付款(3篇)
- 工业工程在产品生命周期成本管理中的应用研究
- 排座次之“对角线平移法”浅议
- 指导老师论文评语
- 初一议论文《中国教育≠教条》800字(共10)
- 浅议图书编目中的著者号与种次号
- 【浦银国际】医药行业2026年展望:更上一层楼
- 大学德育答辩评语集萃
- 浅议侘寂美学
- 账号买卖交易合同范本
- 市委2025年履行全面从严治党主体责任工作报告
- 企业内部管理培训资料
- 企业校园招聘的问题与对策研究
- 2025年贵州乐理考试题目及答案
- 精神科规培基地工作汇报
- 2025年商业地产行业商业地产数字化运营与商业模式研究报告及未来发展趋势
- 电子商务客户数据分析及应用培训教材
- 2025年行政执法人员考试题库(附参考答案)
- 2025年秋季中国南水北调集团青海有限公司招聘42人考试笔试备考试题及答案解析
- 2025年抗菌药物的合理使用培训考核试题附答案
评论
0/150
提交评论