这两天刚刚写的一个matlab程序,画了一个磁滞回线的电流波形。嘿嘿。。。
%磁滞回线
%采用三次样条插值画磁滞回线
%通过磁滞回线画磁通为正弦时磁化电流波形
clear; %清除workspace中变量
H_data=[
0.005 0.026 0.050
0.065 0.078 0.096
0.126 0.164 0.270 0.460...
0.529
0.471 0.341 0.203
0.074 0.000 -0.028 -0.049 -0.063 -0.077...
-0.093 -0.124 -0.162 -0.270 -0.460 -0.530
-0.469 -0.338 -0.200 -0.070];
B_data=[
-0.174 -0.152 -0.123 -0.089 -0.051 -0.003 0.092 0.177 0.253 0.297...
0.308
0.298 0.279 0.252
0.217 0.182 0.157
0.126 0.092 0.055...
0.000 -0.087 -0.174 -0.249 -0.293 -0.303
-0.294 -0.274 -0.247 -0.212];
H=H_data;B=B_data;
%磁滞回线的数据
H=H.*1e4;B=B.*5;
subplot(2,2,1);
Bx=-pi/2:0.01:3*pi/2;
Bsin=1.5*sin(Bx);
%计算正弦值,扩大1.5倍适应磁滞曲线
plot(Bx,Bsin);
%画磁场密度正弦曲线
grid
on;
xlim([-pi/2,3*pi/2]);
%限定X轴显示范围
xlabel('wt');
%X轴标号
ylabel('磁场密度B(T)'); %Y轴标号
subplot(2,2,2);
hold
on %保持图形
plot(H,B,'ro'); %画磁滞回线
B1=B(7:11);H1=H(7:11);
%第1象限数据B>0数据
B2=B(11:20);H2=H(11:20);
%第2象限数据B>0数据
B3=B(21:26);H3=H(21:26);
%第3象限数据B>0数据
B4=[B(26:30),B(1:6)];H4=[H(26:30),H(1:6)];
%第4象限数据B>0数据
BB1=[B1,B4];HH1=[H1,H4];
%磁滞回线的下分支
XI1=-6290:10:6290;
YI1=interp1(HH1,BB1,XI1,'spline'); %用3次样条插值计算
plot(XI1,YI1);
%画插值后回线下分支
BB2=[B2,B3];HH2=[H2,H3];
%磁滞回线的上分支
XI2=-5290:10:5290;
YI2=interp1(HH2,BB2,XI2,'spline'); %用3次样条插值计算
plot(XI2,YI2);
%画插值后回线上分支
grid
on;
xlabel('磁化强度H(A/M)'); %X轴标号
ylabel('磁场密度B(T)'); %Y轴标号
M_X=1.39; %
XI1=sin((-M_X:0.01:M_X)./M_X.*pi./2).*M_X;
%磁通正弦变化
YI1=interp1(BB1,HH1,XI1,'spline');
%用3次样条插值计算
subplot(2,2,4);
hold
on;
len_X=length(XI1); %计算先前波形的横坐标长度
X1=(1:len_X);
X1=X1/len_X*pi;
plot(X1,YI1); %画电流波形
XI2=sin((-M_X:1:M_X)./M_X.*pi./2).*M_X;
YI2=interp1(BB1,HH1,XI1,'spline'); %用3次样条插值计算
X2=(1:len_X)+len_X-1;
X2=X2/len_X*pi;
%平移到先前波形的右侧
plot(X2,-YI2);
%画电流波形
grid
on;
xlim([0,2*pi]);
%限定X轴显示范围
xlabel('wt'); %X轴标号
ylabel('磁化电流I(安匝)'); %Y轴标号

点击此处查看原文 >>
系统分类:
资源共享 | 用户分类:
无分类
| 来源:
无分类