C语言牛顿法解非线性方程组,牛顿法解非线性方程组

2023-11-15

// Newton.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include

#include

#define N 3

void get_Chuzhi(double a[N],int n);

void F(double x[N],double X[N]);

void get_J(double x[N],double J[N][N]);

void get_J_1(double J[N][N]);

void Get_Flash_x(double X[N],double x[N],double J[N][N],double Wuchanxian);

void Newton(double x[N],double X[N],double J[N][N],double Wuchaxian);

void main()

{

double Wuchaxian=1.0,x[N],X[N];//定义定义:误差"Wuchaxian"、未知数x值"x[N]"、函数值"X[N]"、

double J[N][N];//雅阁比矩阵"J[N][N]"(后面程序将雅阁比逆阵赋给J[N][N]

Newton(x,X,J,Wuchaxian);//进入迭代过程

}

void Newton(double x[N],double X[N],double J[N][N],double Wuchaxian)解非线性方程组

{

int i;//控制循环最高次数

for(i=0;i<100&&Wuchaxian>0.0000001;i++)//迭代过程

{

if(i==0) {get_Chuzhi(x,N);}

F(x,X);

get_J(x,J);

get_J_1(J);

Get_Flash_x(X,x,J,Wuchaxian);

}

F(x,X);

for(i=0;i

{

printf("x(%d)=%e F(%d)=%e\n",i,x[i],i,X[i]);

}

}

void get_Chuzhi(double a[],int n)///录入方程初值

{

int i;

printf("请输入%d个初值\n",N);

for(i=0;i

{

cin>>a[i];

if(i==0){cout<

cout<

}

cout<

cout<

}

void F(double x[N],double X[N])/求方程函数值F(x)

{

/

/

X[0]=x[0]*x[0]+x[1]*x[1]+x[2]*x[2]-2.0;//方程可替换

X[1]=3.0*x[0]*x[0]+x[1]*x[1]-3.0*x[2];

X[2]=2.0*x[0]*x[0]-3.0*x[1]+2.0*x[2]*x[2];

/

/

}

void get_J(double x[N],double J[N][N])//求雅各比矩阵

{

/

/

J[0][0]=2.0*x[0];J[0][1]=2.0*x[1];J[0][2]=2.0*x[2];//方程偏导函数可替换

J[1][0]=6.0*x[0];J[1][1]=2.0*x[1];J[1][2]=-3.0;

J[2][0]=4.0*x[0];J[2][1]=-3.0;J[2][2]=4.0*x[2];

/

/

}

void get_J_1(double D[N][N])求雅各比逆阵(通过建立单位增广矩阵) {  int i,j,k,n,s[N];//i,j,k,n控制循环,s[N]存放矩阵行编号  double P,Q,T,S[N][N];//P,Q存放主元所在行数据,上消、下消、过程需要乘的系数;        //T 数据互换时需要的中间变量;S[N][N]是单位阵  for(i=0;i=0) S[n][k]=S[n][k]-S[i][k]*Q;//上消    }    for(k=i;k=0) D[n][k]=D[n][k]-D[i][k]*Q;//逆阵做相同的消去    }    if(n<0 && j>=N) break;//直到将上消下消完成后退出循环   }  }  for(i=0;i0.0000001) break;//如果有一个误差不符合要求即退出  } }

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言牛顿法解非线性方程组,牛顿法解非线性方程组 的相关文章

  • JDK 各版本汇总表

    提示 写完文章后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 JDK各版本 时间表 二 JDK各版本 新特性 JDK4 JDK5 JDK6 JDK7 JDK8 JDK9 JDK10 JDK11 JDK12 JDK13 JD
  • Android 蓝牙打印机Service Intent must be explicit

    安卓htc m8手机 链接蓝牙热敏打印机 佳博gp5890xIII 提示 Service Intent must be explicit 根据打印机官方提供的demo 修改为 private void connection conn new
  • 【基础知识】智能指针shared_ptr、weak_ptr、unique_ptr

    目录 一 shared ptr 共享智能指针 1 初始化 1 use count 成员函数 2 构造函数初始化 3 拷贝构造和移动构造函数初始化 4 std make shared 初始化 5 reset方法初始化 2 获取原始指针 二 w
  • 2019/5/13 基于模型的强化学习方法

    注 论文写作四项工作 工作一 查阅100篇 挑选30篇 核心参考3 5篇 看懂 一篇 工作二 提出难点问题 提出新概念 例 多光谱 注意力机制 工作三 修改算法 网络结构 损失函数 步数 工作四 写写写 改改改 图片精修 丰富实验 首句中心
  • ARM64撬开逆向大门

    图片
  • QML和QWidget混合开发(初探)

    为什么要搞混合开发 Qml已经越来越成为Qt开发的主流 相比与QWidget的界面开发更快 也更容易上手 实现效果上也更好 但老旧项目都是QWidget的框架 大家不可能一次性的把QWidget项目界面全部换成qml 这时候我们可以将新开发
  • python条件运算符_Python中的条件运算符

    python条件运算符 如果条件运算符 if else conditional operator Just like other programming languages Python also provides the feature
  • Spring全家桶

    Spring Spring的架构体系 spring是一个基于java语言写的一个轻量级的一站式解决方案框架 它的最底层是核心容器 在核心容器上面提供了AOP这些中间层技术 然后再往上就可以去集成别人的技术 比如像Dao层的MyBatis J
  • 银河麒麟V10 wireshark安装说明(断网离线)

    下载离线安装包 链接 https pan baidu com s 11QFRmCGlIJrJaiKcHh9Hag pwd u9wv 提取码 u9wv 安装步骤 tar zxvf wireshark tar gz cd wireshark s
  • python连接wss走自己的代理

    我开了一个vpn 然后用py写wss连接 怎么才能让他这个连接走我系统代理呢 vpn 开9090端口 set https proxy socks5 127 0 0 1 9090 set http proxy socks5 127 0 0 1
  • 类的六大默认构造函数

    缺省的构造函数和析构函数 等于放弃了自己初始化和清除的机会 缺省的拷贝构造和缺省的赋值函数 采用 位拷贝和值拷贝 若类中出现指针时 这两个函数出错 class String public String const char str NULL
  • 整理Rapid object detection using a boosted cascade of simple features论文中的要点

    整理Rapid object detection using a boosted cascade of simple features论文中的要点 使用haar特征 在24 24像素的框内有180000以上不同的haar特征 怎么算的 终于
  • openwrt路由器-timeout while waiting for PADS.

    最近使用openwrt路由器进行PPPoE拨号的时候 经常出现 远程服务器无响应 的错误 log打印日志如下 pppoe Timeout waiting for PADS packets Unable to complete PPPoE D
  • c语言错误不允许使用不完整的类型,C语言中的void和void*的定义及用法

    void void最常见的用法 就是在函数中限定函数的参数和返回值的 void draw void 表明函数draw没有参数也没有返回值 void在别的的地方的应用我也没见过 实际上 如果把void 和int char double等类型放
  • 「猜题第一篇」2019年大学生电子设计竞赛

    点击上方 大鱼机器人 选择 置顶 星标公众号 福利干货 第一时间送达 昨天出了清单之后 第一时间我是懵逼的 脑子里想的是 这都是啥啊 后面仔细的理了一下 关于三脚架和小车的用处 极大概率三脚架会是和无人机使用 但也不排除 和小车一起使用然后
  • MYSQL8-快速生成表结构(用于生成文档)

    MYSQL8 快速生成表结构 用于生成文档 SELECT rownum rownum 1 AS 序号 column name AS 代码 CASE WHEN column comment IS NULL OR TRIM column com
  • C语言技巧 ----------调试----------程序员必备技能

    作者前言 作者介绍 作者id 老秦包你会 简单介绍 喜欢学习C语言和python等编程语言 是一位爱分享的博主 有兴趣的小可爱可以来互讨 个人主页 小小页面 gitee页面 秦大大
  • 解决端口被占用问题,安装MySQL出现端口被占用

    1 快捷键 Win R 打开命令提示符 输出命令 netstat ano 目的 查看占用3306端口的 PID 值 上图可以看出 占用3306 窗口的 PID值为 13620 2 打开任务管理器 点击 详细信息 选中该程序 鼠标右键 点击
  • 密度聚类DBSCAN、主成分分析PCA算法讲解及实战(附源码)

    需要源码请点赞关注收藏后评论区留言私信 一 基于密度的聚类 基于密度的聚类算法的主要思想是 只要邻近区域的密度 对象或数据点的数目 超过某个阀值 就把它加到与之相近的聚类中 也就是说 对给定类中的每个数据点 在一个给定范围的区域中必须至少包

随机推荐

  • 操作系统最全面试题汇总

    1 操作系统的特点 共享 资源可被多个并发执行的进程使用 并发 可以在同一时间间隔处理多个进程 需要硬件支持 异步 进程走走停停 每次执行的速度不一样 但是要保证进程每次执行结果相同 虚拟 将物理实体映射成为多个虚拟设备 操作系统的组成 驱
  • Python中的pandas库简介及其使用

    pandas模块 pandas是一个强大的分析结构化数据的工具集 它的使用基础是Numpy 提供高性能的矩阵运算 用于数据挖掘和数据分析 同时也提供数据清洗功能 Pandas中常见的数据结构有两种 Series DateFrame 类似一维
  • 股票相关信息

    股票开头数字代表什么 600 开头的股票是上证 A股 属于大盘股 其中 6006 开头的股票是 最早上市的股票 6016开头的股票为大盘蓝筹股 900 开头的股票是上证 B股 000 开头的股票是深证 A股 001 002开头的股票也都属于
  • C++11尝鲜:右值引用和转发型引用

    C 11尝鲜 右值引用和转发型引用 2013 10 05 19 52 5979人阅读 评论 4 收藏 举报 分类 C 33 版权声明 本文为博主原创文章 未经博主允许不得转载 目录 右值引用 为了解决移动语义及完美转发问题 C 11标准引入
  • 软考高项学习教程【第一阶段】:第1章-信息系统开发基础【考点笔记1】

    文章目录 前言 一 信息系统开发基础 1 1 信息系统与信息化 1 信息系统建设 信息与信息系统的概念 2 信息系统的类型 了解 3 信息系统的生命周期 产品生命周期 重要 4 信息系统规划方法 5 信息系统开发方法 考点 5 1 结构化方
  • To install it, you can run: npm install --save module

    简直就是有毛病 和智障无异 吃了个午饭 VUE项目突然就不能运行了 报了个错 说让我npm install save module 报错如下 在main js文件中莫名其妙多了个webpack的引入 导致这个报错 然后按照提示我安装了这个m
  • Mac M1下安装、升级npm(国内源)

    我们介绍使用Homebrew安装node npm等环境 brew的安装见如下文章 Mac M1芯片电脑Java开发环境准备 重要的事情说三遍 国内源 国内源 国内源 要不然慢的要死 要卡死 npm我们也要使用国内源 安装很简单还是之前的套路
  • Asp.net 之Cookie简单介绍与使用

    什么是Cookie Cookie 有时也用其复数形式Cookies 指某些网站为了辨别用户身份 进行session跟踪而储存在用户本地终端上的数据 通常经过加密 所以查看浏览器保存到本地的Cookie时 一般都是一个文本文件这些文件通常是以
  • 为什么InnoDB使用B+树而不是B树

    出于对IO性能的考虑 B树每个节点都存储数据 而B 树只有叶子节点才存储数据 所以在查询相同数据量的情况下 B树的IO会更频繁 因为索引本身存储在磁盘上 当数据量大时 就不能把整个索引全部加载到内存 只能逐一加载每一个磁盘页 更何况B树的索
  • 【性能测试】第四篇

    主流性能测试工具 1 Loadrunner HP Loadrunner 是一种工业级标准性能测试负载工具 可以模拟上万用户实施测试 并在测试时可实时检测应用服务器及服务器硬件各种数据 来确认和查找存在的瓶颈 支持多协议 WEB HTTP H
  • Python+Selenium实现短视频自动上传与发布

    前言 最近有人对自动上传与发布很感兴趣 都私下找我说了好几次了 今天 必须把他安排 必须实力宠粉 本篇依次介绍目前主流的短视频平台 抖音 快手 B站 小红书 微视 百度好看视频 西瓜视频 微信视频号 搜狐视 频 一点号 大风号 趣头条等 的
  • # 若依-点击重置清空table列表,不刷新数据

    若依点击清空按钮 清空table数据 思路 点击清空按钮 触发输入框清空 并且移除列表中所有数据 实战 找到ry ui js新增restNoRefresh函数 ry ui js路径 src main resources static ruo
  • FPGA 频率计实验

    参考 正点原子开拓者 FPGA 开发指南 数字频率计是一种基本的测量仪器 被广泛应用于航天 电子 测控等领域 基于传统测频原理的频率计的测量精度将随被测信号频率的下降而降低 在使用中有较大的局限性 而等精度频率计不但具有较高的测量精度 而且
  • Jfinal报错Can not create instance of class: demo.DemoConfig

    根据文档demo 启动项目时报错 WARN oejuc AbstractLifeCycle FAILED jfinal java lang RuntimeException Can not create instance of class
  • vector对象的定义和初始化以及vector迭代器iterator

    vector对象的定义和初始化 vector类定义了好几种构造函数 用来定义和初始化vector对象 vector
  • JVM调优

    1 JVM参数分类 共分为三种 标准参数 开头 所有的Hotspot都支持 分标准参数 X开头 特定版本Hotspot支持特定命令 不稳定 XX开头 下个版本可能会取消 XX PrintCommandLineFlags 打印虚拟机启动时带的
  • 【计算机网络 (谢希仁) 习题题解】第5章 运输层 (4)——TCP的拥塞控制

    拥塞控制的一般原理 在计算机网络中的链路容量 即带宽 交换结点中的缓存和处理机等 都是网络的资源 在某段时间 若对网络中某一资源的需求超过了该资源所能提供的可用部分 网络的性能就要变坏 这种情况就叫做拥塞 congestion 可以把出现网
  • Celery raises ValueError: not enough values to unpack

    翻译Stack Overflow的 Celery raises ValueError not enough values to unpack 尝试使用 Celery 运行简单示例并收到异常 RabbitMQ 是在 Docker 中启动的 也
  • no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1

    问题 no matching key exchange method found Their offer diffie hellman group exchange sha1 diffie hellman group14 sha1 diff
  • C语言牛顿法解非线性方程组,牛顿法解非线性方程组

    Newton cpp Defines the entry point for the console application include stdafx h include include define N 3 void get Chuz