将数学表达式转换为Matlab脚本

时间:2015-05-08 07:37:11

标签: matlab vectorization

我有一些方程式,想要在Matlab中编码。这些是优化问题的等式约束的一部分。它的GAMS脚本和数学方程式对我而言是众所周知的。这些条款如下:

enter image description here

GAMS:
p1_bal(ib)  ..      (pgn1(ib)-pdn1(ib)) =e= v1(ib)*sum(ib1, ybus1_m(ib,ib1)*v1(ib1)*cos(ybus1_a(ib,ib1)+a1(ib1)-a1(ib)));
q1_bal(ib)  ..      (qgn1(ib)-qdn1(ib)) =e= -v1(ib)*sum(ib1, ybus1_m(ib,ib1)*v1(ib1)*sin(ybus1_a(ib,ib1)+a1(ib1)-a1(ib)));

所以我试图根据上面的内容编写Matlab脚本,但我不确定它是否属实。请检查这些Matlab脚本并告诉我它们是否符合其数学或GAMS脚本。

p_bal  =  -(pgn-pdn)+v_mt.*((Ybus_m.*cos(Delta)*v_mt)); 
q_bal  =   -(qgn-qdn)+v_mt.*((Ybus_m.*sin(Delta))*v_mt); 

其中pgn,pdn,qgn,qdn,v_mt(n x 1)向量Ybus_m and Delta(n x n)矩阵。 Delta也定义为:

Delta =bsxfun(@minus,v_at(:),v_at(:).')-Ybus_a;   
%v_at(:)=d{n},v_at(:)'=d{h},Ybus_a=tet{n,h}

0 个答案:

没有答案