用D-Bus连接A2DP的方法

本文介绍如何通过DBus命令行工具实现Bluetooth A2DP连接。主要包括获取对象路径、查找指定设备及连接服务等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

D-Bus是针对桌面环境优化的IPC机制,用于进程间的通信或进程与内核的通信。支持DBus的系统都有两个标准的消息总线:系统总线和会话总线。系统总线用于系统与应用的通信。会话总线用于应用之间的通信。有一个叫d-feet的python程序,我们可以用他来观察系统中的DBus世界。

可以用dbus命令行工具dbus-send来实现Bluetooth的A2DP的连接:

1. 获得object path:

    # dbus-send –system –print-reply –dest=org.bluez / org.bluez.Manager.DefauleAdapter

    输出:/org/bluez/841/hci0

    这条命令的作用就是向系统消息总线上的org.bluez对象中的Manager对象,发送一条获得默认的Adapter的对象路径的方法.

 

 2. 获得指定设备的object path:

    # dbus-send –system –print-reply –dest=org.bluez /org/bluez841/hci0 org.bluez.Adapter.FindDevice string:00:15:AF:FB:48:CE

    输出:/org/bluez/841/hci0/dev_00_15_AF_FB_48_CE

 

 3.连接服务

    # dbus-send –system –print-reply –dest=org.bluez /org/bluez841/hci0/dev_00_15_AF_FB_48_CE org.bluez.AudioSink.Connect

%% --------------------- 1) 基准及数据输入 -------------------------- S_base = 100e6; % 100 MVA 基准功率 V_base = [110e3 35e3 35e3 35e3 10.5e3]; % 每个节点基准电压 (V) %----- BUS 数据表 --------------------------------------------------- % [busNo type Pg(MW) Qg(Mvar) Pd(MW) Qd(Mvar) Vset(pu) Theta(deg)] % type: 1=Slack, 2=PV, 3=PQ bus = [ 1 1 0 0 0 0 1.00 0 ; % Slack (Grid) 2 2 40 10 0 0 1.02 0 ; % 主变 #1 (PV) 3 2 40 10 0 0 1.02 0 ; % 主变 #2 (PV) 4 3 0 0 50 15 1.00 0 ; % 35 kV Load 5 3 0 0 20 8 1.00 0 ; % 10.5 kV Load ]; %----- LINE / TRANSFORMER 数据表 ------------------------------------ % [From To R(ohm) X(ohm) B(shunt, S) Rate_MVA] % 110 kV线路(可根据6 回等效设置成一根阻抗更小的线) line = [ 1 2 0.10 0.80 0 200 ; % 主变 #1 高低侧 1 3 0.10 0.80 0 200 ; % 主变 #2 高低侧 2 4 0.05 0.40 0 200 ; % 母联 35 kV 3 4 0.05 0.40 0 200 ; % 母联 35 kV 4 5 0.02 0.15 0 100 ; % 35/10.5 电缆 ]; % 将 R, X 变为 p.u.,B 忽略 (若有并联电容可填入) for k = 1:size(line,1) i = line(k,1); j = line(k,2); Z_base = (V_base(i)^2)/S_base; line(k,3:4) = line(k,3:4)/Z_base; % R, X pu end %% --------------------- 2) 构建 Ybus ------------------------------- nbus = size(bus,1); Ybus = zeros(nbus); for k = 1:size(line,1) i = line(k,1); j = line(k,2); R = line(k,3); X = line(k,4); y = 1/(R + 1i*X); Ybus(i,i) = Ybus(i,i) + y; Ybus(j,j) = Ybus(j,j) + y; Ybus(i,j) = Ybus(i,j) - y; Ybus(j,i) = Ybus(i,j); end %% --------------------- 3) 初始化 ----------------------------------- V = bus(:,7); % 电压初值 (p.u.) Ang = deg2rad(bus(:,8)); % 相角初值 (rad) PQ = find(bus(:,2)==3); % PQ 节点索引 PV = find(bus(:,2)==2); % PV 节点索引 Slack = find(bus(:,2)==1); maxIter = 20; Tol = 1e-6; % 额定功率 → pu Pg = bus(:,3)/S_base; Qg = bus(:,4)/S_base; Pd = bus(:,5)/S_base; Qd = bus(:,6)/S_base; %% --------------------- 4) Newton-Raphson 迭代 ---------------------- for iter = 1:maxIter % 4.1 计算功率不平衡 P = zeros(nbus,1); Q = zeros(nbus,1); for i = 1:nbus for k = 1:nbus P(i) = P(i) + V(i)*V(k)* ... ( real(Ybus(i,k))*cos(Ang(i)-Ang(k)) + ... imag(Ybus(i,k))*sin(Ang(i)-Ang(k)) ); Q(i) = Q(i) + V(i)*V(k)* ... ( real(Ybus(i,k))*sin(Ang(i)-Ang(k)) - ... imag(Ybus(i,k))*cos(Ang(i)-Ang(k)) ); end end dP = Pg - Pd - P; % 有功不平衡 dQ = Qg - Qd - Q; % 无功不平衡 % 只对 PQ 节点校正 Q;PV 节点仅校正 P mismatch = [dP([PQ; PV]); dQ(PQ)]; if max(abs(mismatch)) < Tol fprintf('Converged in %d iterations.\n',iter); break; end % 4.2 组装雅可比 npq = length(PQ); npv = length(PV); J11 = zeros(npq+npv); J12 = zeros(npq+npv,npq); J21 = zeros(npq,npq+npv); J22 = zeros(npq); % 编码一个映射:state-index ↔ bus-index ang_idx = [PV; PQ]; % 角度变量 v_idx = PQ; % 电压幅值变量 for a = 1:length(ang_idx) i = ang_idx(a); for b = 1:length(ang_idx) k = ang_idx(b); if i==k sum_P = 0; for m = 1:nbus sum_P = sum_P + V(i)*V(m)* ... (-real(Ybus(i,m))*sin(Ang(i)-Ang(m)) + ... imag(Ybus(i,m))*cos(Ang(i)-Ang(m))); end J11(a,b) = sum_P; else J11(a,b) = V(i)*V(k)* ... ( real(Ybus(i,k))*sin(Ang(i)-Ang(k)) - ... imag(Ybus(i,k))*cos(Ang(i)-Ang(k)) ); end end end for a = 1:length(ang_idx) i = ang_idx(a); for b = 1:length(v_idx) k = v_idx(b); if i==k sum_P = 0; for m = 1:nbus sum_P = sum_P + V(m)* ... ( real(Ybus(i,m))*cos(Ang(i)-Ang(m)) + ... imag(Ybus(i,m))*sin(Ang(i)-Ang(m)) ); end J12(a,b) = 2*V(i)*real(Ybus(i,i)) + sum_P; else J12(a,b) = V(i)* ... ( real(Ybus(i,k))*cos(Ang(i)-Ang(k)) + ... imag(Ybus(i,k))*sin(Ang(i)-Ang(k)) ); end end end for a = 1:length(v_idx) i = v_idx(a); for b = 1:length(ang_idx) k = ang_idx(b); if i==k sum_Q = 0; for m = 1:nbus sum_Q = sum_Q + V(i)*V(m)* ... ( real(Ybus(i,m))*cos(Ang(i)-Ang(m)) + ... imag(Ybus(i,m))*sin(Ang(i)-Ang(m)) ); end J21(a,b) = -sum_Q; else J21(a,b) = -V(i)*V(k)* ... ( real(Ybus(i,k))*cos(Ang(i)-Ang(k)) + ... imag(Ybus(i,k))*sin(Ang(i)-Ang(k)) ); end end end for a = 1:length(v_idx) i = v_idx(a); for b = 1:length(v_idx) k = v_idx(b); if i==k sum_Q = 0; for m = 1:nbus sum_Q = sum_Q + V(m)* ... ( real(Ybus(i,m))*sin(Ang(i)-Ang(m)) - ... imag(Ybus(i,m))*cos(Ang(i)-Ang(m)) ); end J22(a,b) = -2*V(i)*imag(Ybus(i,i)) + sum_Q; else J22(a,b) = -V(i)* ... ( real(Ybus(i,k))*sin(Ang(i)-Ang(k)) - ... imag(Ybus(i,k))*cos(Ang(i)-Ang(k)) ); end end end % 4.3 求解增量 J = [J11 J12; J21 J22]; delta = J \ mismatch; % 4.4 更新变量 Ang(ang_idx) = Ang(ang_idx) + delta(1:length(ang_idx)); V(v_idx) = V(v_idx) + delta(length(ang_idx)+1:end); end if iter>=maxIter warning('Loadflow did NOT converge in %d iterations!',maxIter); end %% --------------------- 5) 结果输出 -------------------------------- fprintf('\n--------- Bus Voltages ---------\n'); fprintf('Bus | V(pu) | Angle(deg)\n'); for i = 1:nbus fprintf('%3d | %7.4f | %8.3f\n',i,V(i),rad2deg(Ang(i))); end fprintf('\n--------- Line Power Flows (From → To) ---------\n'); fprintf('Line | P(MW) Q(Mvar)\n'); for k = 1:size(line,1) i = line(k,1); j = line(k,2); Y = 1/(line(k,3)+1i*line(k,4)); S_ij = (V(i)*exp(1i*Ang(i)) - V(j)*exp(1i*Ang(j))) * ... conj( V(i)*exp(1i*Ang(i))*Y ); fprintf('%2d%2d | %7.2f %7.2f\n',i,j, real(S_ij)*S_base/1e6, imag(S_ij)*S_base/1e6 ); end 解释数据
06-16
<think>我们正在处理一个关于电力系统潮流计算的问题,特别是Newton-Raphson法。用户要求解释MATLAB代码中的数据结构和变量定义,包括BUS数据表、线路数据表以及Ybus矩阵的构建过程。首先,我们需要回顾电力系统潮流计算的基本知识。潮流计算是电力系统分析的核心,用于确定系统在稳态下的电压幅值、相角以及支路功率分布等。Newton-Raphson法是一种常用的求解非线性潮流方程的方法。在MATLAB实现中,通常需要两种类型的数据表:1.BUS数据表:描述系统中各节点的信息。2.线路数据表(或支路数据表):描述连接节点的线路或变压器的信息。此外,还需要构建节点导纳矩阵(Ybus),它是潮流计算的基础。###1.BUS数据表BUS数据表通常包含以下列(根据具体程序可能有细微差别):-节点编号(BusNumber)-节点类型(BusType):通常分为平衡节点(SlackBus)、PV节点和PQ节点。-电压幅值(VoltageMagnitude):单位为p.u.-电压相角(VoltageAngle):单位为度(deg)或弧度(rad)-有功注入(ActivePowerInjection):单位为MW或p.u.-无功注入(ReactivePowerInjection):单位为MVar或p.u.-负荷有功(LoadActivePower):单位为MW或p.u.-负荷无功(LoadReactivePower):单位为MVar或p.u.-并联导纳(ShuntAdmittance):通常为电纳,单位为p.u.在MATLAB中,BUS数据表可能用一个矩阵表示,每一行代表一个节点,列代表上述属性。例如:```matlab%列定义:[节点编号,节点类型,电压幅值,电压相角,有功注入,无功注入,负荷有功,负荷无功,并联导纳]busdata=[1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0;2,2,1.0,0.0,0.5,0.0,0.0,0.0,0.0;3,3,1.0,0.0,0.0,0.0,1.0,0.5,0.0;];```其中节点类型:1代表平衡节点,2代表PV节点,3代表PQ节点。###2.线路数据表线路数据表包含支路(线路或变压器)的信息,通常包括:-起始节点(FromBus-终止节点(ToBus-电阻(Resistance,R):单位为p.u.-电抗(Reactance,X):单位为p.u.-电纳(ShuntSusceptance,B):单位为p.u.(通常为线路充电电容的一半)-变比(TransformerTapRatio):对于变压器,非标准变比时使用-移相角度(PhaseShiftingAngle):对于移相变压器在MATLAB中,线路数据表同样用矩阵表示:```matlab%列定义:[起始节点,终止节点,电阻R,电抗X,电纳B,变比,移相角度]linedata=[1,2,0.01,0.1,0.02,1.0,0.0;2,3,0.02,0.2,0.03,1.0,0.0;1,3,0.03,0.3,0.04,1.0,0.0;];```###3.Ybus矩阵的构建节点导纳矩阵(Ybus)是描述节点之间导纳关系的矩阵。其对角线元素$Y_{ii}$为节点i的自导纳,等于与节点i相连的所有支路导纳之和加上节点i的并联导纳。非对角线元素$Y_{ij}$为节点i和节点j之间的互导纳,等于节点i和j之间支路导纳的负值。构建步骤:1.初始化Ybus矩阵(大小为n×n,n为节点数)为零矩阵。2.处理线路数据:-对于每条线路(包括变压器),计算其串联阻抗$Z=R+jX$,则串联导纳$y_{se}=\frac{1}{Z}$。-如果线路有对地并联电纳(通常表示为线路充电电容的一半),则将其分别加到两个节点的自导纳上(即$y_{sh}/2$加到节点i,$y_{sh}/2$加到节点j)。-对于变压器支路,需要考虑变比(tapratio)。通常采用Π型等值电路,其参数计算如下:-串联导纳:$y_{se}=\frac{1}{(R+jX)\times\text{tap}}$(注意:变比通常放在起始节点侧)-并联导纳:$y_{sh}=j\frac{B}{2}\times\text{tap}^2$(起始节点侧)和$y_{sh}=j\frac{B}{2}$(终止节点侧)?实际上,变压器等值电路中的并联导纳通常与变比有关,具体公式可能因模型而异。但一个常见的变压器Π型等值电路模型为:-节点i到节点j的串联导纳:$y_{ij}=\frac{1}{t\times(R+jX)}$,其中t是变比(从i到j的电压变换比,即Vi/Vj)。-节点i侧的对地导纳:$y_{i0}=\left(\frac{1}{t(t-1)}\right)\times\frac{1}{R+jX}$(注意:这个公式并不通用,实际上变压器模型有多种表示方法。通常,我们使用标准模型:串联导纳为$y_{se}/t$,节点i侧并联导纳为$y_{sh}(1/t^2-1/t)$,节点j侧为$y_{sh}(1-1/t)$?这容易混淆,建议参考电力系统分析教材。)实际上,更常见的做法是使用以下模型(非标准变比在i侧):-自导纳更新:$Y_{ii}+=\frac{y_{se}}{t^2}+\frac{y_{sh}}{2}\times\text{mag}$$Y_{jj}+=y_{se}+\frac{y_{sh}}{2}$$Y_{ij}-=\frac{y_{se}}{t}$$Y_{ji}-=\frac{y_{se}}{t}$(注意:Ybus是对称的吗?在无移相器时对称,但变压器变比为实数时对称,若为复数变比则不对称)然而,在潮流计算中,通常假设变压器变比为实数(移相角为0),所以Ybus是对称矩阵。为了简化,我们采用以下步骤(针对每条支路):a.计算串联导纳:$y_{se}=\frac{1}{R+jX}$b.如果该支路有变比(t≠1),则:$Y_{ii}+=y_{se}/t^2$(起始节点i)$Y_{jj}+=y_{se}$(终止节点j)$Y_{ij}-=y_{se}/t$$Y_{ji}-=y_{se}/t$(因为对称)c.加上并联电纳(线路充电电容):将线路的B/2加到节点i的自导纳,B/2加到节点j的自导纳。3.最后,加上每个节点的并联导纳(来自BUS数据表中的并联导纳项)。注意:在构建Ybus时,通常忽略线路电阻和电抗为零的支路(即无穷大导纳),因为会导致数值问题。###MATLAB代码示例以下是一个构建Ybus的MATLAB函数示例:```matlabfunctionYbus=buildYbus(bus,line)nbus=size(bus,1);%节点数Ybus=zeros(nbus,nbus);%初始化Ybus%遍历每条支路fork=1:size(line,1)from=line(k,1);to=line(k,2);R=line(k,3);X=line(k,4);B=line(k,5);tap=line(k,6);%变比,如果没有则为1%计算串联导纳z=R+1i*X;y_se=1/z;%处理并联电纳(线路充电电容)y_sh=1i*B;%整个线路的并联电纳,通常分为两半加到两端节点%如果有变比(非标准变比变压器)iftap~=1%非标准变比,变压器模型Ybus(from,from)=Ybus(from,from)+y_se/(tap^2)+y_sh/2;Ybus(to,to)=Ybus(to,to)+y_se+y_sh/2;Ybus(from,to)=Ybus(from,to)-y_se/tap;Ybus(to,from)=Ybus(to,from)-y_se/tap;else%普通线路Ybus(from,from)=Ybus(from,from)+y_se+y_sh/2;Ybus(to,to)=Ybus(to,to)+y_se+y_sh/2;Ybus(from,to)=Ybus(from,to)-y_se;Ybus(to,from)=Ybus(to,from)-y_se;endend%添加节点自身的并联导纳(来自BUS数据表)fori=1:nbus%假设bus表的第9列为并联导纳(实部为G,虚部为B?但通常并联导纳是纯电纳,所以是虚数)%注意:在BUS数据表中,并联导纳通常以电纳形式给出(正值为容性,负值为感性),因此乘以1ishunt=bus(i,9);Ybus(i,i)=Ybus(i,i)+1i*shunt;%注意:这里假设shunt是数值,单位为p.u.,是电纳值(即B,不是导纳的虚部,而是整个导纳为jB)%但注意:如果并联导纳是复数(包含电导和电纳),则应该直接加。但通常电力系统中节点并联导纳为纯电纳。endend```注意:上述代码中,对于变压器支路的处理,我们采用了简单的模型。实际中,变压器的模型可能更复杂(如有移相器),但这里假设变比为实数且移相角为零。###总结-BUS数据表:存储节点信息(类型、电压、功率、负荷、并联导纳等)。-线路数据表:存储支路参数(电阻、电抗、电纳、变比等)。-Ybus矩阵:通过遍历所有支路并按照规则累加得到。在Newton-Raphson潮流计算中,Ybus矩阵用于计算节点注入电流和功率方程,是迭代求解的基础。###相关问题1.在Newton-Raphson法中,雅可比矩阵是如何构建的?2.如何处理PV节点和平衡节点在迭代过程中的不同?3.潮流计算收敛性受哪些因素影响?如何提高收敛性?</think>### 电力系统潮流计算(Newton-Raphson法)数据结构与变量解析 #### 一、BUS数据表(节点数据) BUS数据表描述电网中各节点的电气参数,通常包含以下列(以IEEE标准格式为例): | 列号 | 变量名 | 单位 | 说明 | |------|---------------|------|----------------------------------------------------------------------| | 1 | `BusNo` | - | 节点编号(唯一标识) | | 2 | `BusType` | - | 节点类型:`1`=平衡节点,`2`=PV节点,`3`=PQ节点 | | 3 | `V_mag` | p.u. | 电压幅值初始值(标幺值) | | 4 | `V_angle` | rad | 电压相角初始值(弧度) | | 5 | `P_gen` | p.u. | 发电机注入有功功率 | | 6 | `Q_gen` | p.u. | 发电机注入无功功率(PV节点指定,PQ节点计算值) | | 7 | `P_load` | p.u. | 负荷消耗有功功率 | | 8 | `Q_load` | p.u. | 负荷消耗无功功率 | | 9 | `G_shunt` | p.u. | 并联电导(对地导纳实部) | | 10 | `B_shunt` | p.u. | 并联电纳(对地导纳虚部) | **示例MATLAB定义**: ```matlab % [BusNo, Type, V_mag, V_angle, P_gen, Q_gen, P_load, Q_load, G_shunt, B_shunt] busdata = [ 1, 1, 1.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0; % 平衡节点 2, 2, 1.02, 0.0, 0.5, 0.0, 0.2, 0.1, 0.0, 0.0; % PV节点 3, 3, 1.00, 0.0, 0.0, 0.0, 0.8, 0.4, 0.0, 0.01; % PQ节点 ]; ``` #### 二、线路数据表(支路数据) 描述节点间的连接关系及线路参数: | 列号 | 变量名 | 单位 | 说明 | |------|-----------|------|----------------------------------------------------------------------| | 1 | `FromBus` | - | 起始节点编号 | | 2 | `ToBus` | - | 终止节点编号 | | 3 | `R` | p.u. | 线路电阻(标幺值) | | 4 | `X` | p.u. | 线路电抗(标幺值) | | 5 | `B` | p.u. | 线路对地电纳(充电电容效应) | | 6 | `Tap` | - | 变压器变比(非变压器支路=1.0) | | 7 | `Phase` | rad | 移相器角度(无移相器=0) | **示例MATLAB定义**: ```matlab % [FromBus, ToBus, R, X, B, Tap, Phase] linedata = [ 1, 2, 0.01, 0.05, 0.02, 1.0, 0; % 普通线路 2, 3, 0.02, 0.10, 0.03, 1.0, 0; % 普通线路 1, 3, 0.03, 0.15, 0.04, 0.98, 0; % 含变压器支路 ]; ``` #### 三、Ybus矩阵(节点导纳矩阵) Ybus是潮流计算的核心矩阵,其元素定义为: - **对角线元素** $Y_{ii}$:节点$i$所有关联支路导纳之和 + 对地导纳 - **非对角线元素** $Y_{ij}$:节点$i$与$j$间支路导纳的负值 **构建步骤**: 1. **初始化**:创建$n \times n$零矩阵($n$=节点数) 2. **处理并联导纳**: ```matlab Ybus = diag(busdata(:,9) + 1i*busdata(:,10)); % 添加对地导纳 ``` 3. **处理线路导纳**: ```matlab for k = 1:size(linedata,1) i = linedata(k,1); j = linedata(k,2); R = linedata(k,3); X = linedata(k,4); B = linedata(k,5); tap = linedata(k,6); % 计算串联导纳 z = R + 1i*X; % 串联阻抗 y_series = 1/z; % 串联导纳 y_shunt = 1i*B; % 并联导纳(充电电容) % 考虑变压器变比 if tap ~= 1 Ybus(i,i) = Ybus(i,i) + y_series/(tap^2) + y_shunt/2; Ybus(j,j) = Ybus(j,j) + y_series + y_shunt/2; Ybus(i,j) = Ybus(i,j) - y_series/tap; Ybus(j,i) = Ybus(j,i) - y_series/tap; else Ybus(i,i) = Ybus(i,i) + y_series + y_shunt/2; Ybus(j,j) = Ybus(j,j) + y_series + y_shunt/2; Ybus(i,j) = Ybus(i,j) - y_series; Ybus(j,i) = Ybus(j,i) - y_series; end end ``` #### 四、Newton-Raphson法关键变量 | 变量名 | 维度 | 说明 | |----------------|-------------|----------------------------------------------------------------------| | `V` | $n \times 1$ | 节点电压向量(包含$V_{mag}$和$\theta$) | | `P_calc` | $n \times 1$ | 计算有功注入(迭代更新) | | `Q_calc` | $n \times 1$ | 计算无功注入(PQ节点) | | `J` | $2n \times 2n$ | 雅可比矩阵(由4个子矩阵组成) | | `mismatch` | $2n \times 1$ | 功率偏差向量$\Delta P$和$\Delta Q$ | 雅可比矩阵结构: $$ J = \begin{bmatrix} \frac{\partial P}{\partial \theta} & \frac{\partial P}{\partial V} \\ \frac{\partial Q}{\partial \theta} & \frac{\partial Q}{\partial V} \end{bmatrix} $$ #### 五、完整MATLAB数据结构示例 ```matlab % 系统拓扑定义 bus = [ 1 1 1.05 0 0 0 0 0 0 0; 2 2 1.02 0 0.5 0 0.2 0.1 0 0; 3 3 1.00 0 0 0 0.8 0.4 0 0.01; ]; line = [ 1 2 0.01 0.05 0.02 1.0 0; 2 3 0.02 0.10 0.03 1.0 0; 1 3 0.03 0.15 0.04 0.98 0; ]; % 构建Ybus Ybus = buildYbus(bus, line); % 调用前述构建函数 % Newton-Raphson初始化 nbus = size(bus,1); V = bus(:,3) .* exp(1i*bus(:,4)); % 电压复数表示 ``` ### 关键公式说明 1. **节点功率方程**: $$ P_i = V_i \sum_{j=1}^{n} V_j (G_{ij}\cos\theta_{ij} + B_{ij}\sin\theta_{ij}) $$ $$ Q_i = V_i \sum_{j=1}^{n} V_j (G_{ij}\sin\theta_{ij} - B_{ij}\cos\theta_{ij}) $$ 2. **雅可比矩阵元素**: $$ \frac{\partial P_i}{\partial \theta_j} = -V_i V_j (G_{ij}\sin\theta_{ij} - B_{ij}\cos\theta_{ij}) \quad (i \neq j) $$ $$ \frac{\partial P_i}{\partial V_j} = V_i (G_{ij}\cos\theta_{ij} + B_{ij}\sin\theta_{ij}) \quad (i \neq j) $$ [^1]: 关于电力系统建模的详细推导参见《电力系统分析》(第三版)第5章
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值