我是靠谱客的博主 野性星月,这篇文章主要介绍霍尔效应测磁场matlab实现代码,现在分享给大家,希望可以做个参考。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
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实现代码内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(98)

评论列表共有 0 条评论

立即
投稿
返回
顶部