您的位置:首页 > 编程语言 > MATLAB

基于matlab的SPWM光伏并网系统的效率计算

2011-11-08 21:18 337 查看
这个程序准确点说并不是效率计算,只是给出了一个波形,没什么实际意义,大家看着玩呗。

function jieguo=xiaolv(san_n,mul)
% 输入参数:
%     san_n:每周期中载波个数;
%     mul  :调制系数,即三角波最大值/正弦波最大值
% 输出参数:
%     jieguo:单个周期中高电平总时间/周期时间*100
% 画出双波信号及调制后信号。
% ep:
%     yita=xiaolv(32,1.2);
%

clf
figure(10)
N=12;       %数据位宽
len_n=12;   %数据长度
% san_n=22;   %每周期三角波个数
% mul=1.0;      %调制系数

n=N-1;
t=0:(2^len_n-1);
zhengxian=sin( 2.*t.*pi./length(t)).*2^n;

% hold on;
zhengxian(2^(len_n-1):2^len_n-1)=...
zhengxian(1:2^(len_n-1));
san=t;
tmp1=fix((2^len_n)/san_n);
tmp2=(2^n)*mul/(tmp1/2);
for i=1:san_n
san((tmp1*(i-1))+1:((tmp1*i)-tmp1/2))=t(1:(tmp1/2)).*tmp2;
san(tmp1*i-tmp1/2+1:tmp1*i)=2^n*mul-t(1:(tmp1/2)).*tmp2;
end
san(2^len_n-3:2^len_n)=0;

subplot (2,1,1);
hold on;
plot(t,zhengxian,'r');
plot(t,san,'g');
xlim([0 length(t)]);
ylim([-5 max(zhengxian)*2]);

subplot(2,1,2);
hold on;
spwm=zhengxian>san;
zhengxian1=zhengxian/max(zhengxian);
plot(t,spwm);
plot(t,zhengxian1,':c');
xlim([0 length(t)]);
ylim([-0.2 1.2]);

sum1=sum(spwm);
jieguo=sum1/2^len_n*100;
hold off;

运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  matlab plot function c