function [ fsY0, fsY1, fsY2,phaseASpotLoadP,phaseBSpotLoadP,phaseCSpotLoadP ... phaseASpotLoadQ,phaseBSpotLoadQ,phaseCSpotLoadQ,setIJ,nodeNum,Balance,phaseABCY] = dataRead(lineZ,dataFile ) data=dlmread(dataFile); baseHighU=data(1,2); fsY0=sparse(0); fsY1=sparse(0); fsY2=sparse(0); zeroEntries=find(data(:,1)==0); lines=data(zeroEntries(1)+1:zeroEntries(2)-1,:); [setIJ,nodeNum]=numberNode(lines); if size(setIJ,2)>size(setIJ,1) setIJ=setIJ'; end Balance=data(1,1); Balance=nodeNum(setIJ==Balance); %%three-phase phaseABCY=sparse(3*length(nodeNum),3*length(nodeNum)); %把线路型号都给读出来 linePar=lines(:,1); linePar=unique(linePar); for I=1:length(linePar) [fs30,fs31,fs32,retphaseABCY]=lineWithConfig(setIJ,nodeNum,lineZ,lines,linePar(I),baseHighU); %phaseABCY 三相的导纳矩阵3n x 3n 维 fsY0=fsY0+fs30; fsY1=fsY1+fs31; fsY2=fsY2+fs32; phaseABCY=phaseABCY+retphaseABCY; end %% spot load busNum=length(nodeNum); spotloads=data(zeroEntries(3)+1:zeroEntries(4)-1,:); spotloads(:,2:end)=spotloads(:,2:end)/1000; phaseASpotLoadP=sparse(busNum,1); phaseBSpotLoadP=sparse(busNum,1); phaseCSpotLoadP=sparse(busNum,1); phaseASpotLoadQ=sparse(length(nodeNum),1); phaseBSpotLoadQ=sparse(length(nodeNum),1); phaseCSpotLoadQ=sparse(length(nodeNum),1); phaseASpotLoadP( ismember(setIJ,spotloads(:,1) ) )=spotloads(:,2); phaseBSpotLoadP( ismember(setIJ,spotloads(:,1) ) )=spotloads(:,4); phaseCSpotLoadP( ismember(setIJ,spotloads(:,1) ) )=spotloads(:,6); phaseASpotLoadQ( ismember(setIJ,spotloads(:,1) ) )=spotloads(:,3); phaseBSpotLoadQ( ismember(setIJ,spotloads(:,1) ) )=spotloads(:,5); phaseCSpotLoadQ( ismember(setIJ,spotloads(:,1) ) )=spotloads(:,7); end