Rejecting roots of nonlinear equation for a physical problem?

How do we reject roots of a nonlinear equation for a physical problem?

To make the fulcrum of a bascule bridge, a long hollow steel shaft called the trunnion is shrink fit into a steel hub. The resulting steel trunnion-hub assembly is then shrink fit into the girder of the bridge. This is done by first immersing the trunnion in a cold medium such as dry-ice/alcohol mixture.  After the trunnion reaches the steady state temperature of the cold medium, the trunnion outer diameter contracts.  The trunnion is taken out of the medium and slid though the hole of the hub.   When the trunnion heats up, it expands and creates an interference fit with the hub. In 1995, on one of the bridges in USA, this assembly procedure did not work as designed.  Before the trunnion could be inserted fully into the hub, the trunnion got stuck.  So a new trunnion and hub had to be ordered at a cost of \$50,000.  Coupled with construction delays, the total loss was more than hundred thousand dollars.

Why did the trunnion get stuck?  This was because the trunnion had not contracted enough to slide through the hole.

Now the same designer is working on making the fulcrum for another bascule bridge.  Can you help him so that he does not make the same mistake?

For this new bridge, he needs to fit a hollow trunnion of outside diameter  in a hub of inner diameter .  His plan is to put the trunnion in dry ice/alcohol mixture (temperature of the fluid – dry ice/alcohol mixture is -108 degrees F) to contract the trunnion so that it can be slided through the hole of the hub.  To slide the trunnion without sticking, he has also specified a diametrical clearance of at least 0.01 inches  between the trunnion and the hub.   What temperature does he need to cool the trunnion to so that he gets the desired contraction?

This post is brought to you by

• Holistic Numerical Methods Open Course Ware:
• the textbooks on
• the Massive Open Online Course (MOOCs) available at

Patriots football deflation given as a lesson learned and as an exercise in Numerical Methods

Deflate Gate is a great lesson in not jumping to conclusions.  Physicist Neil deGrasse Tyson did not change gauge pressure to absolute pressure; Bill Nye, a mechanical engineer, who calls himself the science guy, did not give convincing arguments; others did not change temperature to absolute temperature; other variables like water vapor pressure, and temperature of compressed air (compressed air is hot) to inflate balls, and time interval between when balls were inflated to when balls were taken to field were not accounted for.

Two exercises were given to students: http://nm.MathForCollege.com/experiments/deflategate.pdf

___________________

This post is brought to you by

Solving a polynomial equation for the longest mast problem?

In the previous post, https://autarkaw.wordpress.com/2010/06/10/a-real-life-example-of-having-to-solve-a-nonlinear-equation-numerically/, we set up the polynomial equation for the problem of finding the length of the mast before which it buckles under its own weight.  In this blog, we show you how the polynomial equation is solved.  Since the polynomial equation has infinite terms, we also show you how we choose how many terms of the polynomial need to be used.

It is better to download the program as single quotes in the pasted version do not translate properly when pasted into a mfile editor of MATLAB or you can read the html version for clarity and sample output .

%% FINDING THE SMALLEST POSITIVE ROOT OF A POLYNOMIAL EQUATION FOR A
% In a previous blog at autarkaw.wordpress.com (June 10), we set up a
% polynomial equation that would allow us to find the longest mast
% that can be setup before it buckles under its own weight.
% In this blog, we will find the root of this equation.
% The problem is given at
% http://numericalmethods.eng.usf.edu/blog/length_of_mast.pdf
% and we are solving Exercise 1 of the pdf file.

%% TOPIC
% Smallest positive root of a polynomial equations with infinite terms

%% SUMMARY

% Language : Matlab 2008a;
% Authors : Autar Kaw;
% Mfile available at
% http://numericalmethods.eng.usf.edu/blog/rootinfinite.m;
% Last Revised : July 4, 2010
% Abstract: This program shows you how to find the smallest positive
% real root of a polynomial equations with infinite terms
clc
clear all

%% INTRODUCTION

disp(‘ABSTRACT’)
disp(‘   This program shows you how to’)
disp(‘   find the smallest positive real root’)
disp(‘   of a polynomial equations with infinite terms’)
disp(‘ ‘)
disp(‘AUTHOR’)
disp(‘   Autar K Kaw of https://autarkaw.wordpress.com’)
disp(‘ ‘)
disp(‘MFILE SOURCE’)
disp(‘   http://numericalmethods.eng.usf.edu/blog/rootsinfinite.m’)
disp(‘  ‘)
disp(‘PROBLEM STATEMENT’)
disp(‘   http://numericalmethods.eng.usf.edu/blog/length_of_mast.pdf)
disp(‘ ‘)
disp(‘LAST REVISED’)
disp(‘   July 4, 2010’)
disp(‘ ‘)

%% INPUTS
% prespecified tolerance, eps
eps=0.000001;
% maximum number of terms of polynomial
nmax=100;

%% DISPLAYING INPUTS

disp(‘INPUTS’)
fprintf(‘ The max number of terms of the polynomial chosen, nmax= %g’,nmax)
fprintf(‘\n The prespecified tolerance, eps= %g’,eps)
disp(‘  ‘)
disp(‘  ‘)

%% CODE
for N=2:1:nmax
% The above looop is to see how many terms we should take of the
% infinite polynomial
aa(1)=-3.0/8.0;
% Setting up the polynomial via recursive relations
for i=2:1:N
aa(i)=-3*aa(i-1)/(4*i*(3*i-1));
end
% Since it is a polynomial of order N,
% there are N+1 coefficients
% To set up the polynomial for MATLAB
% N+1 th coefficient is the constant term
% N th coefficient is the term of order 1
% and so on till 1st coefficient is of order N
bb(N+1)=1;
for i=1:1:N
bb(N-i+1)=aa(i);
end

% Finding all the roots of the Nth order polynomial
abc=roots(bb);

% Finding the first real positive root so that it
% would be used as the starting minimum value available
for i=1:1:N
if isreal(abc(i))==true & abc(i)>0
minval=abc(i);
break;
end
end

% Finding the smallest positive real root

for i=1:1:N
if isreal(abc(i))==true & abc(i)>0
if (abc(i) < minval)
minval=abc(i);
end
end
end
% Checking if prespecified tolerance is met
if N>2
absea=abs((minval-previous)/minval)*100;
if absea<=eps
terms_needed=N;
break;
end
end
previous=minval;
end

%% DISPLAYING OUTPUTS

disp(‘OUTPUTS’)
fprintf(‘ The number of terms used in the polynomial is %g’,terms_needed)
fprintf(‘\n The smallest positive real root is %g’,minval)
disp(‘  ‘)

________________________________________________________

This post is brought to you by Holistic Numerical Methods: Numerical Methods for the STEM undergraduate at http://numericalmethods.eng.usf.edu, the textbook on Numerical Methods with Applications available from the lulu storefront, and the YouTube video lectures available at http://www.youtube.com/numericalmethodsguy.

How do I solve a nonlinear equation in MATLAB?

Many students ask me how do I do this or that in MATLAB.  So I thought why not have a small series of my next few blogs do that.  In this blog, I show you how to solve a nonlinear equation.

The MATLAB program link is here.

The HTML version of the MATLAB program is here.

%% HOW DO I DO THAT IN MATLAB SERIES?
% In this series, I am answering questions that students have asked
% me about MATLAB.  Most of the questions relate to a mathematical
% procedure.

%% TOPIC
% How do I solve a nonlinear equation?

%% SUMMARY

% Language : Matlab 2008a;
% Authors : Autar Kaw;
% Mfile available at
% http://numericalmethods.eng.usf.edu/blog/integration.m;
% Last Revised : March 28, 2009;
% Abstract: This program shows you how to solve a nonlinear equation.
clc
clear all

%% INTRODUCTION

disp(‘ABSTRACT’)
disp(‘   This program shows you how to solve’)
disp(‘   a nonlinear equation’)
disp(‘ ‘)
disp(‘AUTHOR’)
disp(‘   Autar K Kaw of https://autarkaw.wordpress.com&#8217;)
disp(‘ ‘)
disp(‘MFILE SOURCE’)
disp(‘   http://numericalmethods.eng.usf.edu/blog/nonlinearequation.m&#8217;)
disp(‘ ‘)
disp(‘LAST REVISED’)
disp(‘   April 11, 2009’)
disp(‘ ‘)

%% INPUTS
% Solve the nonlinear equation x^3-15*x^2+47*x-33=0
% Define x as a symbol
syms x
% Assigning the fleft hand side o the equation f(x)=0
f=x^3-15*x^2+47*x-33;
%% DISPLAYING INPUTS

disp(‘INPUTS’)
func=[‘  The equation to be solved is ‘ char(f), ‘=0’];
disp(func)
disp(‘  ‘)

%% THE CODE

% Finding the solution of the nonlinear equation
soln=solve(f,x);
solnvalue=double(soln);

%% DISPLAYING OUTPUTS

disp(‘OUTPUTS’)
for i=1:1:length(solnvalue)
fprintf(‘\nThe solution# %g is %g’,i,solnvalue(i))
end
disp(‘  ‘)

This post is brought to you by Holistic Numerical Methods: Numerical Methods for the STEM undergraduate at http://numericalmethods.eng.usf.edu, the textbook on Numerical Methods with Applications available from the lulu storefront, and the YouTube video lectures available at http://numericalmethods.eng.usf.edu/videos