欢迎光临散文网 会员登陆 & 注册

FSPM12/10反电势FFTmatlab出图码

2023-03-12 00:23 作者:小熊快毕业吖  | 我要投稿

%作反电势频谱图

 

%J是基波频率

 

J=FFTmatrix(3,1);


%FFTmatrix是以数组形式(矩阵)形式导入的FFT全部数据


%根据极对数与频次成正比得到谐波阶次

 

order=FFTmatrix(:,1)./J;


%FFTmatrix(:,1)表示第一列所有元素(这里正是频率、时间),点乘 . 表示第一列所有元素与基频相除获得谐波阶次。 

 

%绘制条状频谱图

 

bar(order,FFTmatrix(:,2),0.4);

%bar(order,FFTmatrix(:,3),0.4);

%bar(order,FFTmatrix(:,4),0.4);


%bar(x,y,width) 设置条形的相对宽度以控制组中各个条形的间隔。将 width 指定为标量值。bar(x,y) 在 x 指定的位置绘制条形。

%绘制FFTmatrix第二列、第三列、第四列的条图。



xlabel('谐波阶次');

 

ylabel('电压幅值(V)');

 

title('反电势频谱分布图')

 

grid;

 

%计算THD

 

b1=FFTmatrix(3,2);

b2=FFTmatrix(3,3);

b3=FFTmatrix(3,4); 


%取出每一列数据的基频有效值



i=1;

 

s=0;


r=size(FFTmatrix,1)


%取出FFTmatrix的行数


while i<=length(r)

 

       x1=FFTmatrix(i,2)*FFTmatrix(i,2);

 

       s=s+x1;

 

       i=i+1;

 

end

%计算所有谐波与基波的比值  方和根 


 

    THD=sqrt(s)/b1;

 

    sprintf('THD=%2.2f%%',THD*100)


FSPM12/10反电势FFTmatlab出图码的评论 (共 条)

分享到微博请遵守国家法律