概述
disp("利用霍尔效应测磁场:")
disp("1.|Vh|-Is曲线绘制:")
Im = 0.5;%A
disp(Im);
Is = 0:0.5:3;
Is(2) = [];
disp("测试数据,电压(取绝对值)")
V1 = [0,2.28,3.40,4.53,5.67,6.81];
V2 = [0.02,2.87,2.93,3.82,4.77,5.74];
V3 = [0.01,1.90,2.84,3.79,4.75,5.71];
V4 = [0.02,2.31,3.43,4.56,5.70,6.84];
Vh = (V1+V2+V3+V4)./4
plot(Is,Vh,'o');
title("最小二乘法拟合|Vh|-Is")
ylabel("Vh/mV")
xlabel("Is/mA")
grid on;
hold on;
k = polyfit(Is,Vh,1);
y = polyval(k,Is);
plot(Is,y,"b");
hold off;
disp("最小二乘法拟合的结果:")
a = k(1)
b = k(2)
disp("结论:在误差允许范围内,|Vh|与Is成线性正相关关系。")
disp("2.测绘|Vh|-Im曲线:")
Is_ = 3;%mA
Im = 0:0.1:0.5;
V_1 = [0.54,1.80,3.06,4.30,5.56,6.81];
V_2 = [0.54,0.71,1.97,3.22,4.47,5.72];
V_3 = [0.54,0.71,1.97,3.22,4.47,5.72];
V_4 = [0.53,1.86,3.06,4.30,5.56,6.81];
V_h = (V_1+V_2+V_3+V_4)./4
plot(Im,V_h,'o');
title("最小二乘法拟合|Vh|-Im")
ylabel("Vh/mV")
xlabel("Im/A")
grid on;
hold on;
k_ = polyfit(Im,V_h,1);
y_ = polyval(k_,Im);
plot(Im,y_,"r");
hold off;
disp("最小二乘法拟合的结果:")
a_ = k_(1)
b_ = k_(2)
disp("结论:在误差允许范围内,|Vh|与Im成线性正相关关系。")
disp("3.选择Im = 0.5A计算霍尔系数Rh,载流子浓度n,判断导电类型")
Im_ = Im(6)
V_h_ = V_h(6)
%基本电荷量
e = 1.602e-19
u0 = 4*pi*1e-7
disp("霍尔元件的参数:")
Kh = 179%mv/(mA*T)
d = 0.2%厚度mm
w = 1.5%宽度mm
l = 1.5%长度mm
disp("亥姆霍兹线圈的参数:")
r = 100%mm半径
N = 500%单个匝数
R = 14%线圈电阻
disp("计算亥姆霍兹线圈产生的磁场")
B = vpa(0.724*u0*N*Im_/R,4)
disp("计算霍尔系数")
Rh = vpa(V_h_*d/(Is_*B),6)
disp("计算载流子浓度")
n = vpa(3*pi/(8*Rh*e),6)
disp("由电流,磁场为正是电压也为正,求得的Rh为正,所以该元件为N型导电,")
disp("4.测试Vo值,计算电导率o与电子迁移率u:")
Is__ = 0.2%mA
Vo = 157%mV
disp("电导率计算:")
o = Is__*l/(Vo*d*w)
disp("载流子迁移率:")
u = vpa(Rh*o,6)
disp("5.测绘螺线管轴线上磁感应分布:")
X = 0:0.5:16.5;
V__1 = [0.27,0.38,0.52,0.73,1,1.35,1.70,2.00,2.23,2.41,2.53,2.62,2.68,2.73,2.76,2.79,...
2.80,2.82,2.83,2.84,2.85,2.86,2.86,2.86,2.86,2.86,2.86,2.86,2.86,2.85,2.84,2.83,2.82,...
2.80];
V__2 = [0.38,0.49,0.63,0.84,1.10,1.44,1.79,2.08,2.32,2.49,2.62,2.70,2.76,2.81,2.84,2.87,2.89,...
2.90,2.91,2.92,2.92,2.92,2.92,2.92,2.92,2.92,2.92,2.92,2.91,2.90,2.89,2.88,2.86,2.85];
V__3 = [0.49,0.6,0.74,0.94,1.21,1.55,1.90,2.20,2.43,2.60,2.73,2.82,2.88,2.92,2.96,2.98,3.00,...
3.02,3.03,3.03,3.03,3.03,3.03,3.03,3.04,3.04,3.04,3.03,3.02,3.01,3.01,2.99,2.97,2.95];
V__4 = [0.16,0.27,0.41,0.62,0.88,1.23,1.58,1.88,2.12,2.29,2.42,2.50,2.56,2.61,2.65,2.67,2.69,...
2.71,2.72,2.73,2.74,2.74,2.75,2.75,2.75,2.75,2.74,2.74,2.74,2.73,2.72,2.71,2.69,2.67];
V__h = (V__1+V__2+V__3+V__4)./4
syms u N I L x a
B = (u*N*I/(2*L)).*(x/(x^2+a^2)^(1/2)+(L-x)./((L-x)^2+a^2)^(1/2))
n = 1800
I = Im_%A
a = 2.1%cm
L = 30%cm
B_l = vpa(100*((u0*n*I/(2*L)).*(X./(X.^2+a^2).^(1/2)+(L-X)./((L-X).^2+a^2).^(1/2))),2);
plot(X,B_l)
a2 = vpa(B_l(17),2);
a1 = vpa(B_l(1),2);
disp(a1)
disp(a2)
disp("计算相对误差:")
p = (2*a1-a2)/a2;
p = sprintf('%2.2f%%', p*100)
最后
以上就是野性星月为你收集整理的霍尔效应测磁场matlab实现代码的全部内容,希望文章能够帮你解决霍尔效应测磁场matlab实现代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复