A. 小草同学,我碰到了一个和你一样的问题,如何从matpower里提取出最后一次迭代的雅克比矩阵
哈哈 还是专门找我的啊 我受宠若惊 好怀念啊 你也搞这个啊,是毕业论文么?
好闲话少说,下面是步骤,当初求助未果,自己瞎搞搞出来的:
以下是我当初论文所需要的命令,希望对你有所帮助。主要是靠设置断点,找出那个雅克比矩阵J,其实就一部而已,具体我记不清了,电脑的matlab被我卸载了,太大而且机器慢,我记得是打开其m文件,然后设置断点,貌似是在左边点一下吧会由“-” 变成“○”。然后在运行runpf(case'9'),会在中间停下来,这时那个“J”就是你要的矩阵。之后的那些命令可能对你没用,我当时做的是对其雅克比矩阵做预处理,从而减少它的迭代次数。如果你也是做这个那爽了,干脆直接借你抄.....哈哈哈哈
1.求标准系统IEEE9节点系统刚开始迭代的雅可比矩阵的条件数
(1)首先要在matlab内的matpower中的m文件设置断点
(2)输入命令runpf(case'9')对其进行牛顿法潮流计算
(3)求该系统的矩阵的条件数,输入命令cond(J)
(其他节点的求解方法与之相同,所以省略,以下各程序命令都以IEEE9节点为例)
2.求标准系统IEEE9节点系统雅可比矩阵的谱图
(1)首先将稀疏矩阵J还原full(J)
(2)求其特征值im=eig(ans)
(3)对其特征根求谱图h=plot(im,'*')
3.对IEEE9节点系统运用矩阵的平衡的预处理方法
(1)首先要在matlab内的matpower中的m文件设置断点
(2)输入命令runpf(case'9')对其进行牛顿法潮流计算
(3)对矩阵进行计算
diag(diag(J))
ans*max(det(J))/diag(det(J))
inv(ans)
ans*J*eye(14,14)
(4)求其条件数cond(ans)
4.对IEEE9节点系统运用不完全LU分解的预处理方法
(1)首先要在matlab内的matpower中的m文件设置断点
(2)输入命令runpf(case'9')对其进行潮流计算
(3)对矩阵进行计算
[L,U]=luinc(J,'0')
A=inv(L)*J*inv(U)
(4)求其条件数cond(A)
5.对IEEE9节点系统运用J的分块对角阵的预处理方法
(1)首先要在matlab内的matpower中的m文件设置断点
(2)输入命令runpf(case'9')对其进行潮流计算
(3)对矩阵进行计算
A=J,再对其分块矩阵J置零
(4)求其条件数cond(A)
6.对IEEE9节点系统运用
(1)首先要在matlab内的matpower中的m文件设置断点
(2)输入命令mpopt=mpoption('PF_ALG',2)
runpf('case9',mpopt)用快速解耦法对其进行潮流计算
(3)对矩阵进行计算
A=Bp
B=Bpp
C=[A,zeros(8,6);zeros(6,8),B]
D=inv(C)
runpf('case9')
J*D*eye(14,14)
A=ans
(4)求其条件数
cond(ans)
7.各种预处理法的作图程序
(1)求计算后矩阵的特征值
im=eig(J’)
(2)对其特征值作图
h=plot(im,'*')
有其他需要请留下qq等联系方式