compare.m

来自「关于svc的matlab仿真模型」· M 代码 · 共 71 行

M
71
字号
function ret=compare(u)

global ret_1;
global ret_2;
global com_value;
global last_cou_time;

if isempty(last_cou_time)
    last_cou_time=0;
end

if isempty(com_value)
	com_value=40000/20;%(5e-7)*(4e4)=0.02s=20ms
end
if isempty(ret_1)
	ret_1=0;
end
if isempty(ret_2)
	ret_2=0;
end

if (last_cou_time==u(3,1))
    ret(1,1)=ret_1;
    ret(1,2)=ret_2;
    return;
end

temp=u(2,1)/20;%每18度,采样一次
if temp>10
	com_value=temp;
end
if u(1,1)>=com_value
	ret_1=1;
else
	ret_1=0;
end
ret(1,1)=ret_1;

time=u(3,1);
temp=u(2,1);
if (time==fix(temp/4))  %90度触发
	ret_2=1;
elseif (time==fix(temp*3/4))  %270度触发
	ret_2=2;
elseif (time==fix(temp*7/12))  %210度触发
	ret_2=3;
elseif (time==fix(temp*1/12))  %30度触发
	ret_2=4;
elseif (time==fix(temp*11/12))  %330度触发
	ret_2=5;
elseif (time==fix(temp*5/12))  %150度触发
	ret_2=6;
elseif (time==fix(temp/2))  %电抗器电流检测180度
	ret_2=11;
elseif (time==1)  %电抗器电流检测0度
	ret_2=12;
elseif (time==fix(temp*5/6))  %电抗器电流检测300度
	ret_2=13;
elseif (time==fix(temp/3))  %电抗器电流检测120度
	ret_2=14;
elseif (time==fix(temp/6))  %电抗器电流检测60度
	ret_2=15;
elseif (time==fix(temp*2/3))  %电抗器电流检测240度
	ret_2=16;
else
	ret_2=0;
end

last_cou_time=u(3,1);

ret(1,2)=ret_2;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?