MATLAB基本语句及语法课件.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四川大学电气信息学院
实
验
报
告
书
实验名称:Matlab 基本语句及语法学生姓名
学号年级
指导教师
一、实验题目:
实测电压的有效值及各次谐波的提取
二、实验准备:
(1)通常以电压整周期的方均根值来衡量电压的大小。
电压方均根值的离
散计算公式为:
N 1
1
2
U u
rms k
N
k 0
式中,N 为一个周期内的采样点数;
u k为第k 点的电压瞬时值,V。
(2)中国国家标准GB/T 17626.7-2008和IEC 61000-4-7:2002推荐了谐波的测量方法。
推荐采用加矩形窗的DFT 算法,窗口宽度应选为10个(50Hz 系统)或12 个(60Hz 系统)周期。
某一次谐波有效值以及它临近频谱分量有效值的方
和根,如下式(50Hz 系统):
2 4 2
C C
k 5 2 k 5 1/2
G ( C )
g,n k i
2 2
i 4
式中,G g,n 表示谐波群的有效值;C k+i 表示DFT 输出频谱谱线分量的有效值;
谐波数次n=k/N;k 是傅里叶频谱分量的个数;N 是时间窗截断信号周期数(50Hz 系统中N=10),DFT 输出频谱中各谱线的间隔为5Hz。
三、实验内容:
1. 将.mat 文件中或excel 表格中的实测电压读入matlab 。
2. 读取ZQ77.mat 文件,编制.m 文件,绘出电压瞬时值和有效值随时间变
化的曲线。
绘制两张图形:第一张为实测电压随时间变化的图形,时间(ms),纵坐标为:电压(V),三相电压分别用红、蓝、绿色曲线(实线)表示。
第二
张为电压有效值图形,横坐标为:周波(cycle ),纵坐标为:电压有效值(V)。
三相电压分别用红(实线)、蓝(虚线)、绿色(点线)曲线表示。
(1)实验程序:
clc,clear for i=0:21
newData1 = load( '-mat' , 'ZQ77' ); Vasum=0;Vbsum=0;Vcsum=0;
vars = fieldnames(newData1); for j=i*96+1:1:(i+1)*96
for i = 1:length(vars)
assignin( 'base' , vars{i}, Vasum=Vasum+Va(j)^2;Vbsum=Vbsum+V
newData1.(vars{i})); b(j)^2;Vcsum=Vcsum+Vc(j)^2;
end end
plot(t,Va, 'r' );
hold on Varms(i+1)=sqrt(Vasum/96);Vbrms(i
plot(t,Vb, 'b' ); +1)=sqrt(Vbsum/96);Vcrms(i+1)=sqr
hold on t(Vcsum/96);
plot(t,Vc, 'g' ); end
title( ' 实测电压随时间变化的波形' ); cycle=1:22;
plot(cycle,Varms, 'r' );hold on
xlabel( ' 时间(ms)' );
ylabel( ' 电压(V)' ); plot(cycle,Vbrms, 'b--' );hold on figure plot(cycle,Vcrms, 'g.' );hold on
title( ' 电压有效值随周波变化的波形' );
xlabel( ' 周波(cycle )' );
ylabel( ' 电压有效值(V)' );
(2)实验结果:
3. 读取“003.xls ”中的数据,编制.m 文件,根据IEC 标准,用FFT计算实测的三相电流的各频谱分量有效值,提取实测电流的各次谐波。
绘制一张各
次谐波图(用subplot 语句将该图片分为 3 个子图,三相电流分别绘在三张子图中),含基频、3 次、5 次、7 次、9 次、11 次、13 次、15 次、17 次和19 次谐波电流柱状图。
横坐标为频次,纵坐标为:电流(A)。
(1)实验程序:
clc,clear fs=12800;
[~, ~, raw, dates] = Ya=fft(IaAmp,N);Yb=fft(IbAmp,N);Y
xlsread( 'C:\Users\kwy\Desktop\tem c=fft(IcAmp,N);
ps\003.xls' , 'Sheet1' , 'A2:G2561' , ' f=n*fs/N;
' ,@convertSpreadsheetExcelDates); Yaa=Ya*2/N;Ybb=Yb*2/N;Ycc=Yc*2/N;
raw = raw(:,[2,3,4,5,6,7]); subplot(2,1,1);
dates = dates(:,1); Yaaa=abs(Yaa)/sqrt(2);Ybbb=abs(Yb
data = b)/sqrt(2);Yccc=abs(Ycc)/sqrt(2);
reshape([raw{:}],size(raw)); for n=1:2:19.
XData = datetime([dates{:,1}].', k=n*10+1;sum=0;
'ConvertFrom' , 'Excel' ); for j=-4:1:4
VaVolt = data(:,1); sum=sum+(Yaaa(k+j))^2;
VbVolt = data(:,2); end
VcVolt = data(:,3); G(n)=sqrt((Yaaa(k-5))^2/2+sum+(Ya
IaAmp = data(:,4); aa(k+5))^2/2);
IbAmp = data(:,5); end
IcAmp = data(:,6); subplot(3,1,1)
clearvars datarawdates ; bar(G);xlim([0 20]);xlabel( ' 频次
N=length(IaAmp);
' );ylabel( ' 电流(A)' );title( 'A 相电流n=0:N-1; 的各次谐波' );
for n=1:2:19 for n=1:2:19
k=n*10+1;sum=0; k=n*10+1;sum=0;
for j=-4:1:4 for j=-4:1:4
sum=sum+(Ybbb(k+j))^2; sum=sum+(Yccc(k+j))^2;
end end
Q(n)=sqrt((Ybbb(k-5))^2/2+sum+(Yb W(n)=sqrt((Yccc(k-5))^2/2+sum+(Yc
bb(k+5))^2/2); cc(k+5))^2/2);
end end
subplot(3,1,2) subplot(3,1,3)
bar(Q);xlim([0 20]);xlabel( ' 频次bar(W);xlim([0 20]);xlabel( ' 频次
' );ylabel( ' 电流(A)' );title( 'B 相电流' );ylabel( ' 电流(A)' );title( 'C 相电流的各次谐波' ); 的各次谐波' );
(2)实验结果:
四、实验心得:
通过这次实验,我学会了如何将文件中的数据导入到matlab中,学会了如何利用matlab绘图,最重要的是学会了运用matlab编程来图形化数据,对繁杂的数据进行处理,图像化数据,形象化、具体化数据更方便我们找到数据之间的关联,这是一种解决问题的思路,对于我们以后的学习研究都会很有帮助。