精华内容
下载资源
问答
  • MATLAB实现高斯赛德尔迭代法MATLAB实现高斯赛德尔迭代法
  • 数值分析实验内容,用matlab程序实现高斯-赛德尔(Gauss-Seidel)迭代法。 迭代法解线性方程组的基本思想是构造一串收敛到解的序列,即建立一种从已有近似解计算新的近似解的规则,有不同的计算规则得到不同的迭代...
  • 基于 matlab实现高斯-赛德尔潮流计算 电力系统稳态分析 课 程 姓 名 学 号 老 师 2012年 12月 3日 摘要 潮流计算就是要通过数值仿真的方法把电力系统的详细运行状态呈现给运 行和工作人员以便研究系统在给定条件下的...
  • 程序高斯赛德尔方法解线性方程组的程序。可调用。输入方程组即可得到解。
  • 高斯赛德尔迭代 matlab实现高斯赛德尔迭代方法
  • 基于MATLAB实现高斯赛德尔迭代潮流计算基于matlab 实现高斯-赛德尔潮流计算课 程: 电力系统稳态分析姓 名:学 号:老 师:2012 年12 月3 日摘要潮流计算就是要通过数值仿真的方法把电力系统的详细运行状态呈现给...

    基于MATLAB实现高斯赛德尔迭代潮流计算

    基于matlab 实现高斯-赛德尔潮流计算

    课 程: 电力系统稳态分析

    姓 名:

    学 号:

    老 师:

    2012 年12 月3 日

    摘要

    潮流计算就是要通过数值仿真的方法把电力系统的详细运行状态呈现给运

    行和工作人员,以便研究系统在给定条件下的稳定运行特点。潮流计算时电力系

    统分析中最基本、最重要的计算,是电力系统运行、规划以及安全性、可靠性分

    析和优化的基础,也是各种电磁暂态和机电暂态分析的基础和出发点。

    20 世纪50 年代中期,随着电子计算机的发展,人们开始在计算机上用数学

    模拟的方法进行潮流计算。最初在计算机上实现的潮流计算方法是以导纳矩阵为

    基础的高斯迭代法(Gauss 法)。这种方法内存需求小,但收敛性差。牛顿-拉夫

    逊方法是解非线性代数方程组的一种基本方法,在潮流计算中也得到了应用。20

    世纪60 年代中后期,系数矩阵技术和编号优化技术的提出使牛顿-拉夫逊的解题

    规模和计算效率进一步提高,至今仍是潮流计算中的广泛采用的优秀算法。20

    世纪 70 年代中期,Stott 在大量计算实践的基础上提出了潮流计算的快速分解

    法,是潮流计算的速度大大提高,可以应用于在线,但是直至20 世纪80 年代末

    期才对快速分解法潮流的收敛性给出了比较满意的解释。

    由于潮流计算在电力系统中的特殊地位和作用,对其计算方法有如下较高的

    要求:

    (1)要有可靠的收敛性,对不同的系统及不同的运行条件都能收敛;

    (2)占用内存小、计算速度快;

    (3)调整和修改容易,使用灵活方便。

    报告利用matlab 软件,编程实现书中例题7.1 的潮流计算仿真,采用高斯-

    赛德尔迭代法。报告的内容主要包括:

    (1)高斯-赛德尔迭代法的原理及数学模型;

    (2)网络节点导纳矩阵的计算;

    (3)程序设计;

    (4)运行结果及分析。

    正文

    1、以高斯迭代法为基础的潮流计算方法

    1.1 高斯迭代法

    对于N 个节点的电力网络(地作为参考节点不包括在内),如果网络结构和

    元件参数已知,则网络方程可表示为

     

    Y V I (7-1)

     

    式中, 为N N 阶节点导纳矩阵; 为N 1维节点电压例矢量; 为N 1

    Y V I

    维节点注入电流矢量。如果不计网络元件的非线性,也不考虑移相变压器,则Y

    为对称矩阵。

    考察基于节点导纳矩阵的高斯迭代法。在网络方程(7-1)中,将平衡点 s

    排在最后,并将导纳矩阵写成分块的形式,取出前n 个方程有

      

    Y V Y V I (7-2)

    n n s s n

     

    平衡节点s 的电压 给定,n 个节点的注入电流矢量 已知,则有

    V

    展开全文
  • %---高斯赛德尔迭代法-----%---Gauss - Seidel iteration methodclear;clc;% A=[10,-1,-2;-1,10,-2;-1,-1,5];% b=[7.2,8.3,4.2]';A=[10,-1,-2;-1,10,-2;-1,-1,5];b=[7.2,8.3,4.2]';N=length(b); %解向量的维数...

    %---高斯—赛德尔迭代法-----

    %---Gauss - Seidel iteration method

    clear;clc;

    % A=[10,-1,-2;-1,10,-2;-1,-1,5];

    % b=[7.2,8.3,4.2]';

    A=[10,-1,-2;-1,10,-2;-1,-1,5];

    b=[7.2,8.3,4.2]';

    N=length(b); %解向量的维数

    fprintf('库函数计算结果:');

    x=inv(A)*b %库函数计算结果

    x=zeros(N,1);%迭代初始值

    %-----(A=D-E-F)------

    D=diag(diag(A));

    E=-tril(A,-1);%下三角

    F=-triu(A,1);%上三角

    B=inv(D-E)*F;g=inv(D-E)*b;

    eps=0.0001;%相邻解的距离小于该数时,结束迭代

    %--------开始迭代-------

    for k=1:100 %最大迭代次数为100

    fprintf('第%d次迭代:',k);

    y=B*x+g;

    fprintf('\n与上次计算结果的距离(2范数):%f \n',norm(x-y)^2); if norm(x-y)

    break;

    end

    x=y

    end

    x

    展开全文
  • clear; A=[1,0.4,0.4;0.4,1,0.8;0.4,0.8,1]; b=[1;2;3]; [m,n]=size(A); L=-tril(A,-1); U=-triu(A,1); D=diag(diag(A)); B=(D-L)\U; f=(D-L)\b; e=1e-3; x0=zeros(m,1); x1=B*x0+f; while(max(abs(x0-x1))&...disp(x0)
    clear;
    A=[1,0.4,0.4;0.4,1,0.8;0.4,0.8,1];
    b=[1;2;3];
    [m,n]=size(A);
    L=-tril(A,-1);
    U=-triu(A,1);
    D=diag(diag(A));
    B=(D-L)\U;
    f=(D-L)\b;
    e=1e-3;
    x0=zeros(m,1);
    x1=B*x0+f;
    while(max(abs(x0-x1))>e)
        x0=x1;
        x1=B*x0+f;
    end
    disp(x0)
        
    
    展开全文
  • 已知方程组Ax=b使用高斯赛德尔迭代法要求精度达到0.0001迭代初始向量[0 0 0 0 0 0 0 0 0]最大限制迭代50次---------------------------------------------------------分--割--线----------------------------------...

    已知方程组

    Ax=b

    81d3d76525427022cde621fb9506f947.png

    使用高斯赛德尔迭代法

    要求精度达到0.0001

    迭代初始向量[0 0 0 0 0 0 0 0 0]

    最大限制迭代50次

    ---------------------------------------------------------分--割--线---------------------------------------------------------

    function[x]=GS(A,b,xi,eps,N)

    %x为方程组的解A为系数矩阵b为常数项x0为迭代初值eps为误差N是限定的迭代次数

    %首先要将A分解为上下三角矩阵

    L=triu(A)-A;

    U=tril(A)-A;

    D=A+L+U;

    Bs=inv((D-L))*U;

    fs=inv((D-L))*b;

    %得到迭代格式Bs为迭代阵fs为常向量

    i=0;con=0;

    %其中con是用来记录计算结果是否收敛

    while i

    i=i+1;

    x=Bs*xi+fs;

    for

    j=1:length(b)

    il(i,j)=x(j);

    end

    if

    norm(x-xi)

    con=1;

    break

    end

    xi=x;

    end

    %以下是将迭代过程写入txt文档文件名为iteration.txt

    fid=fopen('iteration.txt','w');

    fprintf(fid,'iteration');

    for j=1:length(b)

    fprintf(fid,' x%d',j);

    end

    for j=1:i

    fprintf(fid,'\n%6d ',j);

    for

    k=1:length(b)

    fprintf(fid,'

    %10.6f',il(j,k));

    end

    end

    if con==1

    fprintf(fid,'\n计算结果收敛!');

    end

    if con==0

    fprintf(fid,'\n迭代步数过多可能不收敛!');

    end

    fclose(fid);

    x=xi

    ---------------------------------------------------------分--割--线---------------------------------------------------------

    运行结果:

    x =

    2.9999

    2.0000

    1.0000

    2.9999

    2.0000

    1.0000

    3.0001

    1.9999

    0.9997

    ---------------------------------------------------------分--割--线---------------------------------------------------------

    在iteration.txt可看到迭代过程

    iteration x1 x2 x3 x4 x5 x6 x7 x8 x9

    1 2.000000 3.090909 1.977273 3.625000 1.681818 0.767045 3.375000 1.772727 -1.750000

    2 5.017045 1.253099 0.084452 2.798295 2.052169 1.087810 3.596333 1.533152 -1.700695

    ......

    32 2.999845 2.000006 1.000027 2.999932 2.000028 1.000027 3.000146 1.999896 0.999577

    33 2.999884 2.000005 1.000020 2.999949 2.000021 1.000020 3.000110 1.999922 0.999683

    34 2.999913 2.000004 1.000015 2.999962 2.000016 1.000015 3.000082 1.999941 0.999762

    计算结果收敛!

    展开全文
  • 使用 Gauss Seidel 方法求解线性方程组。 在这种情况下,A 是方程矩阵,向量 b 具有方程的右侧。
  • matlab开发-非线性代数方程的高斯赛德尔方法。求解3个线性方程的简单程序
  • 高斯-赛德尔(Gauss-Seidel)解线性方程组的Matlab实现

    万次阅读 多人点赞 2020-04-27 09:32:21
    高斯-赛德尔(Gauss-Seidel)解线性方程组的Matlab实现一级目录 一级目录
  • 在学习数值分析时,会学到迭代法,最常用的就是雅克比迭代法,高斯赛德尔迭代法,这个ppt是由青岛大学丁洁玉老师及其学生们的课堂总结。并结合了matlab进行了相关计算。
  • Matlab_用高斯赛德尔(Gaoss-Seidel)迭代法解线性方程组

    万次阅读 多人点赞 2019-05-29 20:02:11
    1.程序代码 function x=Gauss(A,b,x0,ep,N) n=length(b); if nargin<5 N=500 end if nargin<4 ep=1e-6 end if nargin<3 x0=zeros(n,1); k=0; end x=zeros(n,1); k=0; while k&l...
  • 潮流计算高斯-赛德尔迭代法是求解电力系统潮流的方法。通过编程获得电力系统模型,通过计算电力网的节点导纳矩阵和各节点电压、功率,从而计算该电网的潮流。
  • 使用C++编写高斯赛德尔法的潮流计算程序,将实虚部用一个复数类处理
  • %---高斯赛德尔迭代法-----%---Gauss - Seidel iteration methodclear;clc;% A=[10,-1,-2;-1,10,-2;-1,-1,5];% b=[72,83,42]';A=[ 28,-3,0,0,0;-3,38,-10,0,-5;-10,0,25,-15,0;0,0,-15,45,0;0,-5,0,0,30];b=[10,0,...
  • 您可以使用方阵的 Gauss Jordan、Gauss seidel 和 Successive Relaxation。 输入矩阵(方程)和答案示例:ax+by=c 然后你会在 result.txt 上得到答案
  • 程序代码 function x=GaussSeidel(A,b,x0,eps,N) n=length(b); if nargin<5 N=500; end if nargin<4 eps=1e-6; end if nargin<3 x0=zeros(n,1); end k=0; x=zeros(n,1); while k<N x(1)=(b(1)-A(1...
  • 解线性方程组的高斯-赛德尔matlab 实现
  • 包含代码和文档 分别用雅克比迭代法和高斯-赛德尔迭代法求解方程组,精确到小数点后6位,分别就 给出相应的计算结果
  • 包含牛顿迭代法、对分法、雅可比迭代、高斯赛德尔迭代的完整代码,牛顿迭代法、对分法用户可以自己输入多项式次数、精度,输出迭代计算过程中的数值和最终结果,支持对数、指数、幂函数输入
  • 雅克比迭代法 高斯赛德尔迭代法及C++实现 需要的下
  • 高斯消去法 function x = gauss(A,b) n = length(b); x = zeros(n,1); for i = 1:n-1 if A(i,i) == 0 fprintf("error"); return; end for k = (i+1:n) m = -A(k,k)/A(i,i); A(k,i:n) = A(k,i:n) + m * A(i,i...
  • 文章目录前言一、解线性方程组的方法二、解线性方程组的迭代法及其代码实现1. 迭代法的收敛性2. 基本参数设置3. 雅克比(Jacobi)迭代4. 高斯-塞德尔(Gauss-Seidel)迭代5. 超松弛(SOR)迭代总结 前言 近期在上...
  • 高斯赛德尔法潮流计算》由会员分享,可在线阅读,更多相关《高斯赛德尔法潮流计算(10页珍藏版)》请在人人文库网上搜索。1、高斯赛德尔潮流计算方法潮流计算的高斯-赛德尔迭代法是求解电力系统潮流的一种方法。潮流...
  • 潮流计算高斯赛德尔迭代?法又分导纳矩阵迭代法和阻抗矩阵迭代法两种。前者 是以节导纳矩阵为基础建立的赛德尔迭代格式;后者是以节点阻扰矩阵为基础建立的赛德尔迭代格式。 高斯赛德尔迭代法这是数学上求解线性或非?...
  • matlab-高斯赛德尔迭代法

    千次阅读 2018-05-31 20:59:00
    % 高斯-赛尔德迭代法clc;clear;% 第一小题% A=[1 0.4 0.4% 0.4 1 0.8% 0.4 0.8 1];% b=[ 1% 2 % 3]; % 第二小题 A=[ 1 2 -2 1 1 1 2 2 1]; b=[ 1 1 ...
  • 雅克比迭代+高斯迭代+SOR迭代法Matlab程序,同时支持谱半径计算,利于直接比较三种算法
  • 基于高斯-赛德尔迭代法及MATLAB软件的电路方程组求解方法.pdf

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 349
精华内容 139
关键字:

高斯赛德尔matlab程序

matlab 订阅