S 函数 这个程序运行时 说Va未定义?
function output=district0(in)%
ua=in(1);ub=in(2);uc=in(3);ts=in(4);vcd=in(5);t=in(6);
%输入参考电压ua,ub,uc,%采样时间ts,直流侧电压vcd,导通时间参量t
ur=3*(ua+ub*exp(j*2*pi/3)+uc*exp(j*4*pi/3))/vcd; %转换为电压空间矢量
theta0=angle(ur);%电压空间矢量的相角
%扇区及其角度
if theta0<0 %0<=theta0<2pi
theta0=theta0+2*pi;
end
si=fix(theta0*3/pi)+1;%求取参考矢量在三电平矢量图中的扇区
theta=rem(theta0,pi/3); %转换到第一扇区后0<=theta<pi/3
%区域判断及对应两电平参考电压
ual=abs(ur)*cos(theta);%空间矢量在alpha和beta轴上的投影
ube=abs(ur)*sin(theta);
h=sqrt(3)/2; %定义一个常量h
k1=fix(ual+ube*sqrt(3));
k2=fix(ube/h);
uali=ual-k1+0.5*k2;
ubei=ube-k2*h;
if (ubei/uali)<sqrt(3)
ual0=uali; %参考矢量转换为两电平时在alpha轴上的投影
ube0=ubei; %参考矢量转换为两电平时在beta轴上的投影
di=k1^2+2*k2; %参考空间矢量在三电平矢量图中的小区域
else
ual0=0.5-uali;
ube0=h-ubei;
di=k1^2+2*k2+1;
end
%三电平的空间矢量
v00=;v01=;v02=[-1 -1 -1];
v1n=;v1p=;
v2n=;v2p=;
v3n=[-1 -1 0];v3p=;
v4n=[-1 0 0];v4p=;
v5n=[-1 0 -1];v5p=;
v6n=;v6p=;
v7=;
v8=;
v9=;
v10=;
v11=[-1 -1 1];
v12=[-1 0 1];
v13=[-1 1 1];
v14=[-1 1 0];
v15=[-1 1 -1];
v16=;
v17=;
v18=;
%把三电平的各个扇区转换到第一扇区
switch si
case 1
v20=v00;
v21n=v1n;v21p=v1p;v22n=v2n;v22p=v2p;
v23=v7;v24=v8;v25=v9;
case 2
v20=v00;
v21n=v2n;v21p=v2p;v22n=v3n;v22p=v3p;
v23=v9;v24=v10;v25=v11;
case 3
v20=v00;
v21n=v3n;v21p=v3p;v22n=v4n;v22p=v4p;
v23=v11;v24=v12;v25=v13;
case 4
v20=v00;
v21n=v4n;v21p=v4p;v22n=v5n;v22p=v5p;
v23=v13;v24=v14;v25=v15;
case 5
v20=v00;
v21n=v5n;v21p=v5p;v22n=v6n;v22p=v6p;
v23=v15;v24=v16;v25=v17;
case 6
v20=v00;
v21n=v6n;v21p=v6p;v22n=v1n;v22p=v1p;
v23=v17;v24=v18;v25=v7;
end
%三电平变换为两电平
switch di
case 0
v0=v20;va=v21n;vb=v22p;
case 1
v0=v21n;va=v23;vb=v24;
case 2
v0=v24;va=v22n;vb=v21p;
case 3
v0=v22p;va=v24;vb=v25;
end
%两电平三个矢量的导通时间导通时间
ta=ts*(ual0-ube0/(2*h));
tb=ts*ube0/h;
t0=ts-ta-tb;
%任意时段输出的电压空间矢量为v
if 0<=t<t0
v=v0;
output=pulse(v);
elseif t0<=t<t0+ta
v=va;
output=pulse(v);
else
v=vb;
output=pulse(v);
end
%三电平脉冲
function p=pulse(in)
v=in;
a=v(1);
b=v(2);
c=v(3);
switch a
case -1
pa=;
case 0
pa=;
case 1
pa=;
end
switch b
case -1
pb=;
case 0
pb=;
case 1
pb=;
end
switch c
case -1
pc=;
case 0
pc=;
case 1
pc=;
end
p=; 大家可以帮我检查上面那个程序的错误吗?
s函数是这样的吗
s函数不是有固定模板吗?你这个不是按照模板来的,可以这样写s函数吗 s函数应该用固定模板套改才行,自己写的应该不可以吧 S 函数固定的模板是怎样哪个大虾 可以发个上来
页:
[1]