clc
clear all
close all
sheet=7; %k=sheet数目--------------------------------------------------()
f=1000;%电压频率--------------------------------------------------------()
s=400;%选取数据--------------------------------------------------------()
bl=2;%取B数据-----------------------------(2)
hl=6;%取H数据-----------------------------(6)
n=200; %一个周期的点数,向上取整;取一个周期数据-----------------------------()
v=floor(s/n);%周期数
%数据处理------------------------------------------------------------------
for k = 1:sheet
A{k} = xlsread('1k.xlsx',['sheet',num2str(k)]);%文件名---------------()
M{k}=reshape(A{1,k}(1:v*n,bl),n,v);%取B数据-----------------------------
B(1:n,k)=mean(M{k},2);
B(n+1,k)=B(1,k);
N{k}=reshape(A{1,k}(1:v*n,hl),n,v);%取H数据-----------------------------
H(1:n,k)=mean(N{k},2);
H(n+1,k)=H(1,k);
Hm(k)=max(H(:,k));
Bm(k)=max(B(:,k));
end
%由上述数据作图-------------------------------------------------------------
for i=1:k
figure(11);
a=i/(k+2);
Hs(:,i)=smooth(H(:,i),20,'moving');
Bs(:,i)=smooth(B(:,i),20,'moving');
h(i)=plot(Hs(:,i),Bs(:,i),'LineWidth',1,'Color',[a,1-a,a]); %画出磁化曲线
legh(i)=legend(h(i),['B=',num2str(round(Bm(i)*10)/10),'T']);
set(legh(i),'box','off');
set(legh(i),'position',[0.22 0.3+0.05*i 0.07 0.35]);
if i<k
copyobj(legh(i),gcf);
end
hold on;
%grid on;
%不求平均值
%figure(2);
%plot(A{1,i}(:,4),A{1,i}(:,2),'LineWidth',1.5); %画出磁化曲线
%hold on
%grid on
%平均值图像的光滑处理
%figure(3);
%values{k}= spcrv([[H(:,i) H H(:,end)];[B(:,i) B B(:,end)]],3);
%plot(values{i}(1,:),values{i}(2,:),'g');
%hold on
%grid on 光滑处理失败ing
end
figure(12);
%不拟合曲线----------------------------------------------------------------
%plot(Hm,Bm,'LineWidth',2);
%hold on;
%拟合曲线------------------------------------------------------------------
values = spcrv([[Hm(1) Hm Hm(end)];[Bm(1) Bm Bm(end)]],3);
plot(values(1,:),values(2,:), 'b','LineWidth',2);
hold on;
%磁化曲线数据点-------------------------------------------------------------
plot(Hm,Bm,'or','LineWidth',3);
hold on;
grid on;
%--------------------------------------------------------------------------
t=A{1,1}(1:v*n,1);
figure(11);
%title(['f=',num2str(f),'Hz 磁滞回线']);%标题名称--
%xlabel('磁场强度 H (A/m)');%---------------------------------------------
xlabel('磁场强度 H (A/m)');%----------------------------------------------
%ylabel('磁通密度 B (T)');%-------------------------------------------------
ylabel('磁通密度 B (T)');%-------------------------------------------------
%axis([-3000,3000,-1.5,1.5]);% 对磁滞回线图进行标注------------------------()
figure(12);
%title(['f=',num2str(f),'Hz 磁化曲线']);%标题名称-
xlabel('磁场强度H(A/m)');%--------
ylabel('磁通密度B(T)');%-------
%axis([0,3000,0,1.5]);%---------------