%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % HM690.m - B-H interpolation routine % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function y = HM690(Bx) % B-H values that follow are valid for M-6, 29 ga, 90 deg B=[0 38.7 45.2 52 58 64.5 71 77 81 84 87 90 93.5 97 100 ... 103 106 110 113 116 135 142 200]*1000; % Kilolines/sq_in H=[0 3.1 3.2 3.4 3.6 4 4.4 5.4 6.5 8.5 16.1 32.3 72.7 97 ... 133.4 174 232 283 333 404 2500 8e3 1e7]; % A_t/in % Activate to plot B-H curve % m=15; plot(H(1:m),B(1:m)); grid; % Linear plot % m=23; semilogx(H(2:m),B(2:m));grid; % Semilog plot n=length(B); k=0; if Bx==0; k=-1; y=0; end if Bx<0; k=-1; y=0; disp('WARNING - Bx < 0, Hx = 0 returned'); end if Bx>B(n); y=H(n); k=-1; disp('CAUTION - Beyond B-H curve'); end for i=1:n if k==0 & (Bx-B(i))<=0; k=i; break; end end if k>0; y=H(k-1)+(Bx-B(k-1))/(B(k)-B(k-1))*(H(k)-H(k-1)); else; end