C#--解方程组之Jacobi迭代法
解方程组之Jacobi法
public void Calcu5(){int count1 = 0, count2 = 0;while(true){for(int i=0;i<n;i++){double sum = 0;for(int j=0;j<n;j++){if(j!=i){sum += a[i, j] * x[j];}}x2[i] = (a[i, n] - sum) / a[i, i];if (Math.Abs(x2[i] - x[i]) < e)count2++;}count1++;if(count1>10000){ Console.WriteLine("迭代发散!!!");break; }if(count2==n){ Console.WriteLine("迭代次数:{0}", count2);break; }for(int i=0;i<n;i++){ x[i] = x2[i]; }}}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Jacobi迭代
{class Jacobi{int n;public int N{get { return n; }set { n = value; }}double[,] a;public double[,] A{get { return a; }set { a = value; }}double[] x;public double[] X{get { return x; }set { x = value; }}double e = 0.00001;public double E{get { return e; }set { e = value; }}private double[] x2;public double[] X2{get { return x2; }set { x2 = value; }}public void Input(){Console.WriteLine("请输入阶数:");n = Convert.ToInt32(Console.ReadLine());a = new double[n, n + 1];x = new double[n];x2 = new double[N + 1];for (int i = 0; i < N; i++){X[i] = 0;}Console.WriteLine("请输入各行系数(','或' '隔开):");for (int i = 0; i < n; i++){string s = Console.ReadLine();string[] ss = s.Split(' ', ',');for (int j = 0; j < n + 1; j++){a[i, j] = Convert.ToDouble(ss[j]);}}}public void Calcu5(){int count1 = 0, count2 = 0;while(true){for(int i=0;i<n;i++){double sum = 0;for(int j=0;j<n;j++){if(j!=i){sum += a[i, j] * x[j];}}x2[i] = (a[i, n] - sum) / a[i, i];if (Math.Abs(x2[i] - x[i]) < e)count2++;}count1++;if(count1>10000){ Console.WriteLine("迭代发散!!!");break; }if(count2==n){ Console.WriteLine("迭代次数:{0}", count2);break; }for(int i=0;i<n;i++){ x[i] = x2[i]; }}}public void Output(){Console.WriteLine("方程系数为:");for (int i = 0; i < n; i++){string s = null;for (int j = 0; j < n + 1; j++){s += string.Format("{0,8:f2}", a[i, j]);}Console.WriteLine(s);}}public void OutputX(){Console.WriteLine("\n方程组的解是:");for (int i = 0; i < n; i++){Console.WriteLine("x{0}={1}", i + 1, x[i]);}}}class Program{static void Main(string[] args){Jacobi abc = new Jacobi();abc.Input();abc.Output();abc.Calcu5();abc.OutputX();}}
}
4
请输入各行系数(','或' '隔开):
10 -1 2 0 6
-1 11 -1 3 25
2 -1 10 -1 -11
0 3 -1 8 15
方程系数为:
10.00 -1.00 2.00 0.00 6.00
-1.00 11.00 -1.00 3.00 25.00
2.00 -1.00 10.00 -1.00 -11.00
0.00 3.00 -1.00 8.00 15.00
迭代发散!!!
x1=1
x2=2
x3=-1
x4=1
请按任意键继续. . .
C#--解方程组之Jacobi迭代法相关推荐
- Jacobi迭代法分量形式matlab,解线性方程组的Jacobi迭代法.pdf
1 Jacobi 迭代法迭代法 若A为非奇异矩阵且0 ii a 1 2 in 11121 21222 12 n n nnnn aaa aaa A aaa 将原方程组等价变形为 1 n iijj jj ...
- 迭代法解方程:牛顿迭代法、Jacobi迭代法
牛顿迭代公式 设已知方程f(x)=0的近似根x0 ,则在x0附近f(x)可用一阶泰勒多项式 近似代替.因此, 方程f(x)=0可近似地表示为p(x)=0.用x1表示p(x)=0的根,它与f(x)=0的 ...
- 数值分析】迭代法解方程:牛顿迭代法、Jacobi迭代法
转自:http://blog.csdn.net/xiaowei_cqu 博主写的很好 ps:最近在学数值分析,本来打算自己写这博文,呀呀呀,看到博主这篇博文这么棒,就转载了.方程组高斯消去法和 ...
- c语言jacobi迭代法,迭代法解方程:牛顿迭代法、Jacobi迭代法
利用迭代算法处理问题,需要做好以下三个方面的工做: 一.确定迭代变量.在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量. 二.建立迭代关系式.所谓 ...
- matlab编jacobi方法,jacobi迭代法matlab
h Matlab 线性方程组的迭代解法(Jacobi 迭代法 Gauss-Seidel 迭代法)实验报告 2008年11月09日 星期日 12:49 1.熟悉 Jacobi 迭代法,并编写 Matla ...
- Jacobi迭代法的matlab程序(《数值分析原理》)
文章目录 Jacobi迭代法matlab程序(<数值分析原理>) 1.Jacobi迭代格式 2.Jacobi迭代法的例子 Jacobi迭代法matlab程序(<数值分析原理>) ...
- MATLAB 五对角矩阵 Jacobi迭代法 SOR迭代法 解方程组
% ----------------------------------------------------------------------------------------------- % ...
- c语言编程雅可比解方程,求雅可比迭代法解方程组的C\C++程序,急需一个运用雅可比迭代法求线性方程组的C/C++程序!...
问题标题 求雅可比迭代法解方程组的C\C++程序,急需一个运用雅可比迭代法求线性方程组的C/C++程序! 2019-7-8来自ip:14.137.150.56的网友咨询 浏览量:218 手机版 问题补 ...
- jacobi迭代法matlab_解线性方程组的经典迭代法(1)-理论
本文复习求解线性方程组的经典迭代法的理论部分,且主要是单步迭代法. 下一节将会是MATLAB编程实现,并大概比较下各算法的优劣. 我们考虑的问题是求解线性方程组 ,其中 是n阶实方阵, 是n维列向量. ...
最新文章
- win32 打印机api
- Galaxy 生信平台(四):邮件与管理员配置
- 信息化建设工程的有效成本及定价分析(1)
- 极富创意的404错误个性页面设计欣赏
- Python Json存储与读取
- 发布一个WTL实现的QQ2009登录窗口源码
- Android Activity标签属性
- Asp.net如何截屏
- Dom4j完整教程~字符串与XML的转换
- Snabbdom(虚拟dom)
- MOSS架构和共享服务(Shared Service)
- LeetCode之两个数组的交集
- 详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装(最新版教程)
- 新浪微博从 Kafka 到 Pulsar 的演变
- 全志 起家产品 A31S四核:昂达V819mini平板试玩
- windows强制删除文件或者程序
- FPGA之旅设计99例之第十九例----OV5640上电及初始化
- Visio里如何画树状图?
- 常见web中间件及其漏洞概述
- 矩形法_加工难题:双头深矩形螺旋槽
热门文章
- 企业级大数据、数分资料免费下载(附百度云破解神器)
- 手机用久了耗电快?华为手机的后备隐藏能源,开启后续航强如新机
- 1-ubuntu基础——换源第一步
- bind9 dlz mysql_bind-9.4.2+mysql dlz安装
- 基于MatlabSimulin的微电网模型及光伏电池建模仿真分析
- 计算机缓存加速网络,教你win7怎么清理缓存为电脑提速
- 用tensorflow实现一个分形图制作
- 关于ubuntu 下载后没有网的情况
- 服务器ssd硬盘接笔记本,M.2固态硬盘怎么安装 台式机与笔记本电脑安装M.2 SSD方法图解...
- 抖音直播用什么手机效果最好 抖音直播手机哪款好2023