该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求大佬帮忙指正
网上抄了matlab2004的程序用maltab2014B运行 显示
未定义与 'double' 类型的输入参数相对应的函数 'ffm'。出错 Untitled (line 8)
mm=ffm(nstart,nend);
咋解决
主程序:
% bus 1,2,3,4 is PQ bus,bus 5 is PV bus,bus 6 is slack bus
u=sym('[u1,u2,u3,u4,u5,u6]');delt=sym('[d1,d2,d3,d4,d5,d6]');
global Np Nb bt p m k
Np=6;Nb=7;
bt=[2,4;1,3];p=[1/0.909,1/0.976];m=6;k=2;
nstart=[6,6,2,3,5,5,1];nend=[4,2,4,4,3,1,2];
mm=ffm(nstart,nend);
% yb1,the series admittance of transmission line
yb1r=[0.2170,0.2791,0.2771,0.0,0.2383,0.2224,0.0];
yb1i=[-0.9137,-1.2910,-1.1625,-1.6667,-0.6542,-0.3230,-3.7594];
yb1=yb1r+yb1i*j;
%yb1=zb1.^(-1);
yb=diag(conj(yb1'));
y=mm*yb*(mm)';
% yb0 ,the shunt admittances of transmission line
yb0i=[0.0099,0.0070,0.0076,0.0,0.0,0.0,0.0];
yb0=0+yb0i*j;
y0=diag(conj(yb0'));
yg=mm*y0*(mm)';
yn=diag(diag(yg));
yy=yn-yg;
y=y+yn;
[Y,YY]=fdt1(y,yy);
%**************************************************************************
G=real(Y);B=imag(Y);
p=[-.275,0,-0.150,-0.250,0.250];q=[-0.065,0,-0.090,-0.025];
k=0;precision=1;
N1=5;%the N1 is the amount of the PQ and PV bus
N2=1;%the N2 is the amount of the PV bus
for m=1:N1
for n=1:N1+1
pt(n)=u(m)*u(n)*(G(m,n)*cos(delt(m)-delt(n))+B(m,n)*sin(delt(m)-delt(n)));
end
pp(m)=p(m)-sum(pt);
end
for m=1:N1-N2
for n=1:N1+1
qt(n)=u(m)*u(n)*(G(m,n)*sin(delt(m)-delt(n))-B(m,n)*cos(delt(m)-delt(n)));
end
qq(m)=q(m)-sum(qt);
end
J1=jacobian(pp,['d1,d2,d3,d4,d5,u1,u2,u3,u4']);
J2=jacobian(qq,['d1,d2,d3,d4,d5,u1,u2,u3,u4']);
J=vertcat(J1,J2);
uu=[1.000,1.000,1.000,1.000,1.100,1.050];dd=[0,0,0,0,0,0];
while precision>0.0000001
u1=uu(1);u2=uu(2);u3=uu(3);u4=uu(4);u5=uu(5);u6=uu(6);
d1=dd(1);d2=dd(2);d3=dd(3);d4=dd(4);d5=dd(5);d6=dd(6);
for m=1:N1
PP(m)=eval(pp(m));
end
for m=1:N1-N2
PP(N1+m)=eval(qq(m));
end
JJ=eval(J);
du=-inv(JJ)*PP';precision=max(abs(PP));
for n=1:N1
dd(n)=dd(n)+du(n);
end
for n=1:N1-N2
uu(n)=uu(n)+du(N1+n);
end
k=k+1;
end
k-1,dd*180/pi,uu
%***********************************************
% the following program is used to calculate the Sm and Smn
for n=1:N1+1
U(n)=uu(n)*(cos(dd(n))+j*sin(dd(n)));
end
Um=conj(U');
I=Y*Um;
Sm=diag(Um)*conj(I)
for m=1:N1+1
for n=1:N1+1
Smn(m,n)=U(m)*(conj(U(m))-conj(U(n)))*conj(-Y(m,n))+U(m)*conj(U(m)*YY(m,n));
end
end
Smn
在尝试运行MATLAB2004的程序时,在MATLAB2014B环境下遇到了错误:未找到与'double'类型输入参数对应的'ffm'函数。问题出现在代码行8,调用`mm=ffm(nstart,nend);`。博主寻求解决方案。"
106417399,4850207,Java模拟考试系统设计与实现,"['Java', '面向对象编程', '软件设计', '考试系统']

2894

被折叠的 条评论
为什么被折叠?



