我是靠谱客的博主 甜蜜书包,这篇文章主要介绍【数值分析】解线性方程组的迭代法(雅可比迭代法)前言迭代公式代码仓库地址,现在分享给大家,希望可以做个参考。

前言

在计算大型稀疏矩阵方程组时,利用迭代法往往比较合适
本文将介绍雅可比迭代法及对应matlab代码

迭代公式

对线性方程 A x = b Ax=b Ax=b,有雅可比迭代公式:
{ x ( 0 ) = ( x 1 ( 0 ) , x 2 ( 0 ) , ⋯   , x n ( 0 ) ) T , x i ( k + 1 ) = ( b i − ∑ j = 1 , j ≠ i n a i j x j ( k ) ) / a i i , i = 1 , 2 , ⋯   , n ; k = 0 , 1 , ⋯ 迭 代 次 数 . left { begin{array}{c} x^{(0)}=(x_1^{(0)},x_2^{(0)},cdots ,x_n^{(0)})^T,\ x_i^{(k+1)}=(b_i-sum_{j=1,jneq i}^na_{ij}x_j^{(k)})/a_{ii},\ i=1,2,cdots ,n;k=0,1,cdots 迭代次数. end{array} right. x(0)=(x1(0),x2(0),,xn(0))T,xik+1)=(bij=1,j=inaijxj(k))/aii,i=1,2,,n;k=0,1,.

代码

main.m

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
clear;clc %% input A=input('A='); b=input('b='); x=input('x0='); k=input('k='); n=size(A,1); %% x(k+1) for m=0:k for i=1:n x(i)=(b(i)-f_sum(A,x,i,n))./A(i,i); end end %% output x

f_sum.m

复制代码
1
2
3
4
5
6
7
8
function sum=f_sum(A,x,i,n) sum=0; for j=1:n if j~=i sum=sum+A(i,j)*x(j); end end

仓库地址

本文涉及代码已上传GitHub
仓库地址

最后

以上就是甜蜜书包最近收集整理的关于【数值分析】解线性方程组的迭代法(雅可比迭代法)前言迭代公式代码仓库地址的全部内容,更多相关【数值分析】解线性方程组内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(85)

评论列表共有 0 条评论

立即
投稿
返回
顶部