MATLAB编程 Shipley法 Y消元求逆法形成节点阻抗矩阵
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计
Y消元求逆法形成节点阻抗矩阵
节点导纳矩阵Y很容易通过电力系统的界限及电力参数直接形成。通过对Y 求逆,可以得到阻抗矩阵Z。矩阵求逆的方法较多,这里讨论电力系统计算中常用的消元求逆方法,shipley法。
运算过程分三步
1.k行k列对角元取负倒数值
2.k行k列对角元去除k行和k列的全部非对角元取负值
3.将i行k列与k行i列元素相乘,再除以k行k列对角元并取负值,与i
行j列的元素相加。
MATLAB程序如下
function m=Shipley(A)
n=size(A,1); %因输入矩阵为节点导纳矩阵,故对称,取行或列数for k=1:n %n阶则需要计算n次
B(k,k)=-1/A(k,k); % k行k列对角元取负倒数值
for i=1:n
if i==k
continue %排除对角元
end
B(i,k)=-A(i,k)/A(k,k);
B(k,i)=-A(k,i)/A(k,k); % k行k列对角元去除k行和k列的全部非
对角元并取负值for j=1:n
if j==k
continue %排除j=k的情况
end
B(i,j)=A(i,j)-A(i,k)*A(k,j)/A(k,k);
% 将i行k列与k行i列元素相乘,再除以k行k列对角元并取负值,与i行j列的元素相加。
end
end
A=B;
end
m=-A;
算法举例
如下节点导纳矩阵
运行函数计算结果以及matlab本身求逆结果如下
对比可知结果一直,程序无误