MATLAB Programming with Applications for Engineers 1st Edition Chapman Solutions Manualpdf download
MATLAB Programming with Applications for Engineers 1st Edition Chapman Solutions Manualpdf download
https://testbankfan.com/product/matlab-programming-with-
applications-for-engineers-1st-edition-chapman-solutions-manual/
We believe these products will be a great fit for you. Click
the link to download now, or visit testbankfan.com
to discover even more!
https://testbankfan.com/product/matlab-programming-for-
engineers-5th-edition-chapman-solutions-manual/
https://testbankfan.com/product/essentials-of-matlab-
programming-3rd-edition-chapman-solutions-manual/
https://testbankfan.com/product/introduction-to-matlab-
programming-and-numerical-methods-for-engineers-1st-edition-
siauw-solutions-manual/
https://testbankfan.com/product/managerial-accounting-2nd-
edition-hilton-solutions-manual/
International Economics 11th Edition Salvatore Test
Bank
https://testbankfan.com/product/international-economics-11th-
edition-salvatore-test-bank/
https://testbankfan.com/product/freedom-on-my-mind-
volume-2-a-history-of-african-americans-with-documents-2nd-
edition-white-test-bank/
https://testbankfan.com/product/college-algebra-enhanced-with-
graphing-utilities-7th-edition-sullivan-solutions-manual/
https://testbankfan.com/product/physics-of-sports-1st-edition-
lisa-solutions-manual/
https://testbankfan.com/product/ratio-and-proportion-dosage-
calculations-2nd-edition-giangrasso-test-bank/
Biochemistry Concepts and Connections 1st Edition
Appling Solutions Manual
https://testbankfan.com/product/biochemistry-concepts-and-
connections-1st-edition-appling-solutions-manual/
6. User-Defined Functions
6.1 Script files are just collections of MATLAB statements that are stored in a file. When a script file is
executed, the result is the same as it would be if all of the commands had been typed directly into
the Command Window. Script files share the Command Window’s workspace, so any variables that
were defined before the script file starts are visible to the script file, and any variables created by the
script file remain in the workspace after the script file finishes executing. A script file has no input
arguments and returns no results, but script files can communicate with other script files through the
data left behind in the workspace.
In contrast, MATLAB functions are a special type of M-file that run in their own independent
workspace. They receive input data through an input argument list, and return results to the caller
through an output argument list.
6.2 MATLAB programs communicate with their functions using a pass-by-value scheme. When a
function call occurs, MATLAB makes a copy of the actual arguments and passes them to the
function. This copying is very significant, because it means that even if the function modifies the
input arguments, it won’t affect the original data in the caller. Similarly, the returned values are
calculated by the function, and copied into the return variables in the calling program.
6.3 The principal advantage of the pass-by-value scheme is that any changes to input arguments within a
function will not affect the input arguments in the calling program. This, along with the separate
workspace for the function, eliminates unintended side effects. The disadvantage is that copying
arguments, especially large arrays, can take time and memory.
6.4 A function to sort arrays in ascending or descending order, depending on the second calling
parameter, is shown below:
% Define variables:
% a -- Input array to sort
% ii -- Index variable
% iptr -- Pointer to min value
% jj -- Index variable
% nvals -- Number of values in "a"
% out -- Sorted output array
% temp -- Temp variable for swapping
139
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/03/11 S. J. Chapman Original code
if sort_up
else
end
140
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
% iptr now points to the min/max value, so swap a(iptr)
% with a(ii) if ii ~= iptr.
if ii ~= iptr
temp = a(ii);
a(ii) = a(iptr);
a(iptr) = temp;
end
end
% Preallocate array
array = zeros(1,nvals);
end
» test_ssort1
Enter number of values to sort: 6
Enter value 1: -3
Enter value 2: 5
Enter value 3: 2
Enter value 4: 2
Enter value 5: 0
Enter value 6: 1
142
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
Sorted data in default order:
-3.0000
0.0000
1.0000
2.0000
2.0000
5.0000
??? Error using ==> ssort1
Second parameter is not 'UP' or 'DOWN'!
6.5 A set of functions to perform trigonometric operations in degrees are shown below:
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/03/11 S. J. Chapman Original code
% Calculate value
out = sin(pi/180*x);
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/03/11 S. J. Chapman Original code
% Calculate value
out = cos(pi/180*x);
143
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
function out = tand(x)
%TAND Calculate tan(x), where x is in degrees
% Function TAND calculates tan(x), where x is in degrees
%
% Define variables:
% x -- Angle in degrees
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/03/11 S. J. Chapman Original code
% Calculate value
out = tan(pi/180*x);
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/03/11 S. J. Chapman Original code
% Calculate value
out = 180/pi * asin(x);
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/03/11 S. J. Chapman Original code
% Calculate value
out = 180/pi * acos(x);
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/03/11 S. J. Chapman Original code
% Calculate value
out = 180/pi * atan(x);
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/03/11 S. J. Chapman Original code
% Calculate value
out = 180/pi * atan2(y,x);
% Set the angle theta = 30 degrees, and try the forward trig functions
disp(' ');
disp(['Testing forward trig functions:']);
disp(['sind(30) = ' num2str(sind(30))]);
disp(['cosd(30) = ' num2str(cosd(30))]);
disp(['tand(30) = ' num2str(tand(30))]);
disp(['sind(45) = ' num2str(sind(45))]);
disp(['cosd(45) = ' num2str(cosd(45))]);
disp(['tand(45) = ' num2str(tand(45))]);
% Test atan2d
disp(' ');
disp(['Testing atan2d:']);
disp(['atan2d(4,3) = ' num2str(atan2d(4,3))]);
>> test_functions
This program tests the trig functions that return answers in degrees.
Testing atan2d:
atan2d(4,3) = 53.1301
% Define variables:
% deg_f -- Input in degrees Fahrenheit
% deg_c -- Output in degrees Celsius
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/03/11 S. J. Chapman Original code
% Calculate value
deg_c = 5/9 * (deg_f - 32);
We can test this function using the freezing and boiling points of water:
>> f_to_c(32)
ans =
0
>> f_to_c(212)
ans =
100
% Define variables:
% deg_c -- Input in degrees Celsius
% deg_f -- Output in degrees Fahrenheit
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/03/11 S. J. Chapman Original code
% Calculate value
deg_f = 9/5 * deg_c + 32;
We can test this function using the freezing and boiling points of water:
>> f_to_f(0)
ans =
100
>> c_to_f(100)
ans =
0
We can also show that c_to_f and f_to_c are the inverses of each other:
>> f_to_c(c_to_f(30))
ans =
30
6.8 A function to calculate the area of a triangle specified by the locations of its three vertices is shown
below:
% Define variables:
% x1, y1 -- Location of vertex 1
% x2, y2 -- Location of vertex 2
% x3, y3 -- Location of vertex 3
% area -- Area of triangle
% Record of revisions:
148
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
% Date Programmer Description of change
% ==== ========== =====================
% 07/03/11 S. J. Chapman Original code
% Calculate value
area = 0.5 * (x1*(y2-y3) - x2*(y1-y3) + x3*(y1-y2));
6.9 At this point in our studies, there is no general way to support an arbitrary number of arguments in a
function. Function nargin allows a developer to know how many arguments are used in a
function call, but we can only up to the number of arguments in the calling sequence1. We will
design this function to support up to 6 vertices. The corresponding function is shown below:
function area = area_polygon(x1, y1, x2, y2, x3, y3, x4, y4, x5, y5,
x6, y6)
%AREA_POLYGON Calculate the area of a polygon specified by its
vertices
% Function AREA_POLYGON calculates the area of a polygon specified by
% its vertices
%
% Calling sequence:
% area = area_polygon(x1, y1, x2, y2, x3, y3, x4, y4, x5, y5, x6,
y6)
% Define variables:
% ii -- Loop index
% n_vertices -- Number of vetices in polygon
% x1, y1 -- Location of vertex 1
% x2, y2 -- Location of vertex 2
% x3, y3 -- Location of vertex 3
% x4, y4 -- Location of vertex 4
% x5, y5 -- Location of vertex 5
% x6, y6 -- Location of vertex 6
% area -- Area of polygon
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/03/11 S. J. Chapman Original code
1 Later we will learn about function varargin, which can support any number of arguments.
149
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
msg = nargchk(6,12,nargin);
error(msg);
% Save values
x(1) = x1;
y(1) = y1;
x(2) = x2;
y(2) = y2;
x(3) = x3;
y(3) = y3;
if n_vertices >= 4
x(4) = x4;
y(4) = y4;
end
if n_vertices >= 5
x(5) = x5;
y(5) = y5;
end
if n_vertices >= 6
x(6) = x6;
y(6) = y6;
end
We can test this function using the specified point (0,0), (10,0), (10,10), and (0, 10), which
corresponds to a square with all sides having length 10:
We can test this function using the points specified in the problem:
150
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
6.10 A function to calculate the inductance of a single-phase two-wire transmission line is shown below:
% Define variables:
% ind_per_m -- Inductance per meter
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/03/11 S. J. Chapman Original code
% Constants
mu0 = pi * 4e-7; % H/m
We can test this function using the points specified in the problem:
6.11 If the diameter of a transmission line’s conductors increase, the inductance of the line will decrease.
If the diameter of the conductors are doubled, the inductance will fall to:
6.12 A function to calculate the capacitance of a single-phase two-wire transmission line is shown below:
% Define variables:
% cap_per_m -- Capacitance per meter
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/03/11 S. J. Chapman Original code
% Constants
e0 = pi * 4e-7; % F/m
We can test this function using the points specified in the problem:
6.13 If the distance between the two conductors increases, the inductance of the transmission line
increases and the capacitance of the transmission line decreases.
6.14 A program to compare the sorting times using the selection sort of Example 6.2 and MATLAB’s
built-in sort is shown below: .
% Constants
SIZE = 100000; % Number of values to sort
% Set seed
seed(123456);
>> compare_sorts
Sort time using ssort = 118.288
Sort time using sort = 0.013641
The built-in sorting function is dramatically faster than the selection sort of Example 6.2.
6.15 A program to compare the sorting times using the selection sort of Example 6.2 and MATLAB’s
built-in sort is shown below.
Note that the sort time for the selection sort increases as the square of the number of values
sorted. This may make it impossible to do the calculation for 1,000,000 samples, as specified in
the original problem. This will be modified to 200,000 samples in subsequent printings.
153
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
% Date Programmer Description of change
% ==== ========== =====================
% 07/04/11 S. J. Chapman Original code
%
% Define variables:
% data1 -- Array to sort
% data2 -- Copy of array to sort
% elapsed_time1 -- Elaosed time for ssort
% elapsed_time2 -- Elaosed time for sort
% Set seed
seed(123456);
>> compare_sorts
Sort time using ssort = 118.288
Sort time using sort = 0.013641
The built-in sorting function is dramatically faster than the selection sort of Example 6.2.
>> compare_sorts
Sort time for 10000 using ssort = 1.2153
Sort time for 10000 using sort = 0.0013928
Sort time for 100000 using ssort = 137.3888
Sort time for 100000 using sort = 0.013531
Sort time for 200000 using ssort = 631.6224
Sort time for 200000 using sort = 0.026963
6.16 A modified version of function random0 that can accept 0, 1, or 2 arguments is shown below:
% Define variables:
155
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
% ii -- Index variable
% ISEED -- Random number seed (global)
% jj -- Index variable
% m -- Number of columns
% msg -- Error message
% n -- Number of rows
% ran -- Output array
%
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 02/04/10 S. J. Chapman Original code
% 1. 07/04/11 S. J. Chapman Modified for 0 arguments
6.17 Function random0 has a bug under some conditions. If the global variable ISEED has not been
previously defined when random0 is executed, the program will crash. This problem occurs the
first time only that random0 is executed in a given MATLAB session, if function seed is not
called first. A simple way to avoid this problem would be to detect if ISEED is undefined, and to
supply a default value. Otherwise, the function should use the global seed supplied. A modified
version of random0 that fixes this bug is shown below:
156
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
%
% random0(n) -- Generate an n x n array
% random0(n,m) -- Generate an n x m array
% Define variables:
% ii -- Index variable
% ISEED -- Random number seed (global)
% jj -- Index variable
% m -- Number of columns
% msg -- Error message
% n -- Number of rows
% ran -- Output array
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 02/04/10 S. J. Chapman Original code
% 1. 07/04/11 S. J. Chapman Modified to provide initial seed
6.18 A function dice to simulate the roll of a fair die is shown below:
157
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
% and 6.
% Define variables:
% result -- Resulting integer
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/04/11 S. J. Chapman Original code
% Initial values
result = zeros(1,100000);
for ii = 1:100000;
result(ii) = dice;
end
158
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
hist(result,6);
title('\bfHistogram of values returned from function "dice"');
xlabel('\bfValue');
ylabel('\bfCount');
» test_dice
The first 30 values are:
3 1 4 6 6 4 4 4 1 6 6 4 1 2 1 3 2 6 1 2 2 6 6 5 6 3 1 6 1 5
The resulting histogram is shown below. The histogram shows that each integer between 1 and 6 is
about equally likely to occur.
6.19 A function to calculate a probability from the Poisson distribution is shown below:
159
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
% Define variables:
% fact -- k! (k-factorial)
% result -- Resulting value from distribution
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/07/11 S. J. Chapman Original code
% Calculate k!
fact = factorial(k);
A program that uses function poisson to calculate the probability of a specific number of cars
passing a point on a highway in a given period of time is shown below:
% Display results
disp(['The probability of k cars passing in ' num2str(t) ' minutes
is:']);
160
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
for k = 0:5
fprintf(' %3d %12.7f\n',k,prob(k+1));
end
When this program is executed, the results are a shown below. Note that the plot of the probability
distribution uses discrete points instead of a continuous line, since the probabilities are only defined
for the integer values k = 0, 1, 2, 3, … (we can’t have 1.2 cars go by!). This plot can also be
represented as a bar chart, once we learn how to create them in Chapter 6.
>> traffic
Enter expected number of cars/minute: 1.6
Enter period of time in minutes: 1
The probability of k cars passing in 1 minutes is:
0 0.2018965
1 0.3230344
2 0.2584275
3 0.1378280
4 0.0551312
5 0.0176420
6.20 Functions to calculate the hyperbolic sine, cosine, and tangent functions are shown below::
161
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
%SIND Calculate hyperbolic sine function
% Function SINH calculates the hyperbolic sine function
%
% Define variables:
% x -- Input value
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/12/11 S. J. Chapman Original code
% Calculate value
out = (exp(x) - exp(-x))/2;
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/12/11 S. J. Chapman Original code
% Calculate value
out = (exp(x) + exp(-x))/2;
% Record of revisions:
% Date Programmer Description of change
% ==== ========== =====================
% 07/12/11 S. J. Chapman Original code
% Calculate value
162
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
out = (exp(x) - exp(-x)) ./ (exp(x) + exp(-x));
A script file to plot the hyperbolic sine, cosine, and tangent functions are shown below:
% Calculate results
x = -5:0.05:5;
out_cosh = cosh1(x);
out_sinh = sinh1(x);
out_tanh = tanh1(x);
% Display results
figure(1);
plot(x,out_cosh);
title('\bfHyperbolic cosine');
xlabel('\bfx');
ylabel('\bfcosh(x)');
grid on;
figure(2);
plot(x,out_sinh);
title('\bfHyperbolic sine');
xlabel('\bfx');
ylabel('\bfsinh(x)');
grid on;
figure(3);
plot(x,out_cosh);
title('\bfHyperbolic tangent');
xlabel('\bfx');
ylabel('\bftanh(x)');
grid on;
163
© 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
Random documents with unrelated
content Scribd suggests to you:
Cassiterite
Cassiterite, tin dioxide, is the mineral that serves as the chief source
of tin. Tin does not corrode and tarnish, and one of its main uses is in
the making of tin cans. (Actually, our tin cans are made from thin
sheets of steel that have been coated with a protective layer of tin.)
Celestite
Celestite is a strontium sulfate mineral. It is colorless, white, yellow,
or gray. Light blue specimens of this mineral also are found, and it is
because of this sky-like color that celestite gets its name. The word
celestite comes from the Latin word caelestis, meaning of the sky.
Some celestite may be deposited by sea water, but much of the Texas
celestite is believed to have been deposited by underground water
that seeped through cracks and pores in the limestones and other
sedimentary rocks. This water picked up and dissolved strontium
compounds that were scattered in small amounts through the rocks.
Then, it re-deposited the strontium in the rocks as celestite.
Cinnabar
Cinnabar, which is mercuric sulfide, is the most common mercury
mineral. It has a dark red or a bright yellowish-red color and is
transparent to translucent. When rubbed across a streak plate, it
leaves a dark red streak. If pure, cinnabar has a brilliant, shiny,
nonmetallic luster. It is, however, commonly found mixed with
impurities, such as clay, calcite, iron oxide, or bituminous material,
and then it looks dull and earthy. Cinnabar is quite heavy—it has a
specific gravity of 8.10. It is rather soft, and you can scratch it with a
copper penny.
Cinnabar crystals (dark) with calcite crystals (white) from the Terlingua
area of Brewster County, Texas.
Clay
Clay is a smooth, soft, earthy rock made up of mineral particles no
bigger than specks of dust. Some of the particles are clay minerals,
which consist of aluminum, silicon, and other elements. In addition,
tiny particles of quartz, calcite, and other minerals may also be
present in the clay.
The clay particles are all that remain of rocks and of minerals, such
as feldspar, that have been broken into fragments or altered into clay
minerals by weathering. Some clay remains at the place where it
formed, but some is carried away and deposited elsewhere.
Clay is white, tan, brown, red, green, blue, gray—almost any color.
When moist, it has an earthy odor. You can moisten a piece of clay
enough to notice this just by breathing on it. Most clays, when wet,
can be molded into many different shapes—that is, they are plastic,
but when they are dry, they are firm and solid.
Chalcocite, with its dark color, does not look at all like copper, which
is a bright reddish brown. Chalcocite, however, is the chief copper
mineral at the most important copper mine in Texas, the Hazel mine,
which is about 15 miles northwest of Van Horn in Culberson County
in west Texas. This mine, although now idle and almost filled with
water, has produced about one and a half million pounds of copper
along with more valuable silver ores. Here, the chalcocite and other
minerals occur in material that fills large cracks in red sandstone of
the Precambrian Hazel Formation. It is thought that long ago, molten
igneous rock material far below the surface sent out hot solutions
containing copper and other elements. These solutions moved
upward and deposited minerals in the fracture zone in the sandstone.
53
Azurite has a bright, intense blue color and leaves a blue streak when
rubbed across a streak plate. Malachite has a bright green color and
leaves a green streak. These minerals have a nonmetallic luster and a
glassy to dull appearance. Commonly, they are translucent, although
some specimens of azurite are transparent. Both azurite and
malachite are fairly soft—a pocket knife will scratch them, but a
copper penny will not.
Both azurite and malachite are formed in the same way. Underground
waters seep through rocks that contain deposits of copper minerals
(such as chalcocite and chalcopyrite) and cause chemical reactions
which change these minerals into malachite and azurite.
Dolomite
Dolomite is the name given both to a rock and to a mineral. The
mineral is a calcium-magnesium carbonate and has a glassy or a
pearly luster. It is any of a number of colors, such as white, pink,
brown, or gray, or it can be colorless. Dolomite leaves a white streak
on a streak plate and is transparent to translucent. It is not
particularly hard and can be scratched with a pocket knife, although
not with a copper penny. Dolomite cleaves perfectly in three
directions, and some of the cleavage fragments are rhombohedrons.
However, the cleavages of the individual mineral grains in specimens
of fine-grained massive dolomite are not readily distinguishable.
Dolomite rock from the vicinity of Fairland, Burnet County, Texas.
To help tell them apart, dilute hydrochloric acid often is used. A few
drops of this acid will readily fizz and bubble if the rock you put them
on is a limestone. If the rock is dolomite, the acid will effervesce only
very little or not at all. (If, however, the acid is put on powdered
dolomite, it then will fizz readily.) Dolomite is slightly harder than
limestone, and it also is slightly heavier.
Many of the dolomite rocks are found with limestones. In Texas they
occur mostly in Cambrian, Ordovician, Mississippian, Pennsylvanian,
Permian, and Cretaceous formations. The geologic map (pp. 4-5)
indicates where these strata appear at the surface in Texas.
The feldspars are important rock-forming minerals. You can find them
in igneous rocks, such as granite or pegmatite, and in metamorphic
rocks, such as gneiss. They also occur as fragments in sedimentary
rocks, such as some sandstone and conglomerate.
Although the feldspars can originate in other ways, they form mostly
from hot magmas that cool and crystallize into igneous rocks. These
minerals occur in the rocks as grains, as cleavable masses, and as
individual crystals. The crystals may be shaped like prisms, or they
may be flat and slabby.
Good places to look for feldspars are in areas where granites,
pegmatites, and other intrusive igneous rocks appear at the surface.
The pegmatite rocks of Burnet, Gillespie, Llano, and Mason counties
in the Llano uplift area of central Texas, and those of the Van Horn
Mountains in Hudspeth and Culberson counties in west Texas, are
especially good sources of feldspar. Large cleavable masses and
crystals that are more than a foot long are found in some of these
rocks.
Fluorite
Fluorite is calcium fluoride. The fluorite that is mined and sent to
market, however, commonly is found mixed with quartz, calcite,
limestone, or other rocks and minerals. Industry calls this mixture
fluorspar.
Fluorite is a transparent to translucent mineral that has a glassy
luster. It may be colorless, or it may be white, pink, green, purple,
brown, or blue. Some specimens show more than one color. When
you rub fluorite across a streak plate, it leaves a white streak. This
mineral is not particularly hard—a pocket knife will scratch it,
although a copper penny will not. Fluorite has perfect cleavage in
four directions. By carefully breaking a specimen, you can obtain
cleavage fragments that are shaped like octahedrons.
Fluorite has been found both in west Texas and in central Texas. In
the Llano uplift area of central Texas, it occurs in a number of
Precambrian granite, pegmatite, schist, and gneiss rocks. The most
important, although small, deposit in this area is near Spring Creek a
few miles west of Burnet in Burnet County. Here, prospectors have
dug holes and pits in gneiss and schist rocks and found layers of
fluorite in them.
The largest known fluorite deposits in Texas (they are not particularly
large when you compare them with the deposits in Illinois and
Kentucky) are those in the Eagle Mountains of Hudspeth County. This
fluorite occurs in both igneous and sedimentary rocks. Many years
ago, probably during the late part of the Tertiary Period, hot magma
far below the surface gave off liquids and gases containing fluorine.
These fluids moved up through large cracks (called faults) in 57
Cretaceous limestones and Tertiary igneous rocks and
deposited fluorite in them. In places, beds of limestone have been
replaced by fluorite. Some of this west Texas fluorite has been mined
and shipped to market.
Fluorite has octahedral cleavage. The four directions of perfect cleavage
can result in cleavage fragments that are octahedrons.