📄 core_relation_poly.m
字号:
%磁化曲线拟合(core_relation-poly)
clc
clear
% H和B的数据
Hdata=[1.38, 1.40, 1.42, 1.44, 1.46, 1.48, 1.50, 1.52, 1.54, 1.56,...
1.58, 1.60, 1.62, 1.64, 1.66, 1.69, 1.71, 1.74, 1.76, 1.78,...
1.81, 1.84, 1.86, 1.89, 1.91, 1.94, 1.97, 2.00, 2.03, 2.06,...
2.10, 2.13, 2.16, 2.20, 2.24, 2.28, 2.32, 2.36, 2.40, 2.45,...
2.50, 2.55, 2.60, 2.65, 2.70, 2.76, 2.81, 2.87, 2.93, 2.99,...
3.06, 3.13, 3.19, 3.26, 3.33, 3.41, 3.49, 3.57, 3.65, 3.74,...
3.83, 3.92, 4.01, 4.11, 4.22, 4.33, 4.44, 4.56, 4.67, 4.80,...
4.93, 5.07, 5.21, 5.36, 5.52, 5.68, 5.84, 6.00, 6.16, 6.33,...
6.52, 6.72, 6.94, 7.16, 7.38, 7.62, 7.86, 8.10, 8.36, 8.62,...
8.90, 9.20, 9.50, 9.80, 10.1, 10.5, 10.9, 11.3, 11.7, 12.1,...
12.6, 13.1, 13.6, 14.2, 14.8, 15.5, 16.3, 17.1, 18.1, 19.1,...
20.1, 21.2, 22.4, 23.7, 25.0, 26.7, 28.5, 30.4, 32.6, 35.1,...
37.8, 40.7, 43.7, 46.8, 50.0, 53.4, 56.8, 60.4, 64.0, 67.8];
Bdata=0.40:0.01:1.69;
%换算成国际单位制
len=length(Hdata)
Hmax=Hdata(len);
%曲线拟合
a=polyfit(Hdata,Bdata,13);
%拟合数据提取
for n=1:151
Hfit(n)=Hmax*(n-1)/150;
Bfit(n)=a(1)*Hfit(n)^13+a(2)*Hfit(n)^12+a(3)*Hfit(n)^11+a(4)*Hfit(n)^10+a(5)*Hfit(n)^9+a(6)*Hfit(n)^8+a(7)*Hfit(n)^7+...
+a(8)*Hfit(n)^6+a(9)*Hfit(n)^5+a(10)*Hfit(n)^4+a(11)*Hfit(n)^3+a(12)*Hfit(n)^2+a(13)*Hfit(n)+a(14);
end
%绘图
plot(Hdata,Bdata,'*')
hold
plot(Hfit,Bfit)
hold
xlabel('H[A/cm]')
ylabel('B[T]')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -