Python
Here is the source code in python that produced this image.
Once you make this type of plot, a natural question that you must ask is — what would be the temperature sensitivity of my device?
#!/usr/bin/env python
from pylab import *
# Clean up, in case this is an interative session, and
# that pylab had been imported before.
close ()
T = 300 # K
# From the table of page T84. n-type.
N_ref_RT = 1.3e17 # cm^{-3}
N_ref_eta = 2.4
mu_min_RT = 92 # cm^2/(Vs)
mu_min_eta = -0.57
mu_0_RT = 1268 # cm^2/(Vs)
mu_0_eta = -2.33
alpha_RT = 0.91
alpha_eta = -0.146
x = linspace (-30, 40, 100) # C
T = x + 273.15 # K
# Use the empirical equation (the last eq of page T83) for each par.
N_ref = N_ref_RT * (T / 300.) ** N_ref_eta
mu_min = mu_min_RT * (T / 300.) ** mu_min_eta
mu_0 = mu_0_RT * (T / 300.) ** mu_0_eta
alpha = alpha_RT * (T / 300.) ** alpha_eta
# Doping
N = 1e14 # cm^{-3}
mu = mu_min + mu_0 / (1. + (N / N_ref) ** alpha)
R = 350.e3 / mu # Ohm (for the solution of part (c) of this prob.)
# All hard compuations now done -- plot them!
plot (x, R)
grid ()
# Do not forget to give axis labels with UNITS!
xlabel ('Temperature (C)')
ylabel (r'Resistance ($\Omega$)')
projname = 'P6p4d'
# The command "savefig" is sort of equivalent to "print" of matlab.
# Note that print is a python keyword, and can't be taken by pylab.
# Comment out one of these lines to get a print-out in batch mode.
#savefig ('%s.svg' % projname)
#savefig ('%s.eps' % projname)
savefig ('%s.png' % projname)
Matlab
Here is a matlab version of the same code.
Matlab-produced image and Octave-produced image:
% Clean slate
close
clear
% From the table of page T84. n-type.
N_ref_RT = 1.3e17 % cm^{-3}
N_ref_eta = 2.4
mu_min_RT = 92 % cm^2/(Vs)
mu_min_eta = -0.57
mu_0_RT = 1268 % cm^2/(Vs)
mu_0_eta = -2.33
alpha_RT = 0.91
alpha_eta = -0.146
x = linspace (-30, 40, 100) % C
T = x + 273.15 % K
% Use the empirical equation (the last eq of page T83) for each par.
% Beware of the difference .^ and ^!
N_ref = N_ref_RT * (T / 300.) .^ N_ref_eta
mu_min = mu_min_RT * (T / 300.) .^ mu_min_eta
mu_0 = mu_0_RT * (T / 300.) .^ mu_0_eta
alpha = alpha_RT * (T / 300.) .^ alpha_eta
% Doping
N = 1e14 % cm^{-3}
% Beware of the difference .^ and ^ and also between ./ and /!
mu = mu_min + mu_0 ./ (1. + (N ./ N_ref) .^ alpha)
R = 3.5e5 ./ mu % Ohm (for the solution of part (c) of this prob.)
% All hard compuations now done -- plot them!
plot (x, R)
grid ()
% Do not forget to give axis labels with UNITS!
xlabel ('Temperature (C)')
% Matlab can take '\Omega' but Octave can't.
% ylabel ('Resistance (\Omega)')
ylabel ('Resistance (Ohm)')
print -djpeg P6p4d_o.jpg


