CALCULATING A 3RD ORDER POLYNOMIAL WITH ONE VARIABLE
java code convert mixed fraction to decimal
,
math equations percent algebra formulas
,
ti 83 plus factoring complex number
,
substitution method is easier than the addition method when one of the equations is very simple and can readily be solved for one of the variables
,
how to solve a 2nd order differential equations
,
addition and subtraction of fractions worksheets lcd
,
sat prep formulas square root
,
charts and graph on the comparison of substitution and linear combination
,
maple solve nonlinear multivariable two equations problems examples
,
cube root calculator TI-83 plus how to do
,
ti-89 convert number base 6 to number base 3
,
simplifying radicals absolute value
,
why use factoring to solve quadratic equations
,
addition and subtraction formulas solved problems
,
quadratic formula square root method
,
simultaneous linear equation in two variable for class ten
,
multiplication division rational expressions problem solvers
,
free solving equations with fractional coefficients help
,
Algebra, what are the difference between evaluation and simplification of an expression
,
java examples to find the number & sum of integers divisible by 7
,
solve quadratic equation for the specified variable
,
factorization fraction quadratic equations equation
,
free answers for comparing linear combination methods for solving systems of equation in a chart
,
Algebra help with factoring sums of cubes
,
online algebra calculator square root
,
algebra linear equations graphing worksheet
,
Algebra expressions, what is the difference between evaluation and simplification of an expression?
,
solving solving binomial equations india
,
square root revision for calculator common entrance
,
algebra square cube roots interactive lessons
,
algebra square root solver
,
partial differential equation solution first order linear
,
free Algebra calculator for Rational Expression
,
algebraic equation with fractional exponent
Thank you for visiting our site! You landed on this page because you entered a search term similar to this: calculating a 3rd order polynomial with one variable, here's the result:
Psychology 235M
Matlab Programming
Project 9:
Curve fitting and other operations
1) For a nomal curve with mean of 10 and standard deviation of 4
what is:
a) the area under the curve integrated from minus infinity to -2?
b) the area under the curve from 4 to infinity?
c) the area under the curve from 10 to infinity?
d) the height of the distribution (i.e., the probability density) at a
value of 3? Is this probability density height the probability of
occurrence of the number 3?
a) the area under the curve integrated from minus
infinity to -2?
To get this area, you need to use the cummulative density function for
the normal distribution.
area=normcdf(-2,10,4)
area=013
b) the area under the curve from 4 to
infinity?
Since normcdf gives you the area from minus infinity to the point of
interest and since the area under the normal curve from minus infinity
to infinity is equal to one, then the area from 4 to infinity is:
area=1-normcdf(4,10,4) = 0.9332
c) the area under the curve from 10 to
infinity?
This is the simplest of the cases since 10 is the distributions
mean, you should immediately recognize that the area from 10 to
infinity is 0.5 without any further calculations.
d) the height of the distribution (i.e.,
the probability density) at a
value of 3? What does this density height mean?
height= normpdf(3,10,4) = 0.0216
Note that we are using normpdf not norm cdf.
The height of the distribution at x is NOT the probability of
occurrence of x. The probability of occurrence of an event
between x1 and x2 equals the area under the curve between x1 and
x2. In reality, the probability of exact occurrence of x is zero.
2)
Find the best fitting polynomial to the following data:
x=-3:0.5:3;
y=[0.2 -1.3 -1.6 -2.1 -1.2 -0.3 0.6 1.7 3.0 3.3 2.9 2.3 1.0];
First, plot the data to try to figure out what order polynomial may be
a
best fit.
Step 1:
First plot the data:
clear;
x=-3:0.5:3;
y=[0.2 -1.3 -1.6 -2.1 -1.2 -0.3 0.6 1.7 3.0 3.3 2.9 2.3 1.0];
plot(x,y,'*');
Step 2:
It's not linear. A second-order polynomial would probably also
not work since second-order polynomials are usually either U-shaped or
inverse U-shaped. But, lets try it anyway:
clear;
x=-3:0.5:3;
y=[0.2 -1.3 -1.6 -2.1 -1.2 -0.3 0.6 1.7 3.0 3.3 2.9 2.3 1.0];
p=polyfit(x,y,2);
yfit=polyval(p,x);
plot(x,y,'*',x,yfit);
Step 3:
Lets try a 3rd-order polynomial
clear;
x=-3:0.5:3;
y=[0.2 -1.3 -1.6 -2.1 -1.2 -0.3 0.6 1.7 3.0 3.3 2.9 2.3 1.0];
p=polyfit(x,y,3);
yfit=polyval(p,x);
plot(x,y,'*',x,yfit);
This turns out to be a pretty good fit. You may also want to try
a 4th or 5th order to see how much improvement you will get. If
you do, you'll notice that there isn't much of an improvement over a
3rd order, and it costs us an additional parameter or two. So a
3rd-order fit with the coefficients in p should be our choice.
Typs p in the command window and hit return.
You'll see 4 numbers (if you fit a 3rd-order polynomial):
-0.2303 -0.0212 2.1801
0.7280
These are the coefficients of the polynomial. Therefore, your
fitted equation is:
y = p(1)*x.^3 + p(2)*x.^2 + p(3)*x +p(4)
or
y=-0.2303*x.^3 - 0.0212*x.^2 + 2.1801*x +0.7280
3) Assume that you have come up with some
model that predicts a biological function which itself is the linear
sum of three process best be described as: 1) tan, 2) exp, and 3) a
quadratic operations:
y=a*tan(x) +b*exp(x.^2)+c*x.^2
where x is your independent variable (e.g., stimulus value), and a, b,
and c are parameters to be determined. You believe that this
model should be a good predictor of you data:
x=-1:0.2:1;
y=[9.2 6.6 5.3 4.7 4.6 4.9 5.5 6.6 8.4 11.3 16.4];
Using the model equation above, determine parameters a, b, and c to
optimize (in a least-squares sense) the model's fit to your data.
Step 1: Plot the data to
get a sense of what things look like (helps in initial parameter
selection)
clear;
x=-1:0.2:1;
y=[9.2 6.6 5.3 4.7 4.6 4.9 5.5
6.6 8.4 11.3 16.4];
plot(x,y,'*');
Step 2:
Start a new m file. This is where you will write your
least-squares fitting function. Note that you will have to
write two programs, first is a script or a regular mfile (you could
save this as week10)
and second is a function (you could call this mymodel). In Step
1, you started the week10 program, now start the function (all code for
the function will be written in red to distinguish it from the code
written for the program week10, which will be entirely written in
green). The function's first line is:
function ssd=mymodel(p)
where ssd stands for "sum of the squared deviations". I just made
this up, you could select a different variable name. The point is
that what we are trying to minimize is the output of this function,
which is the sum of the squared deviations between the actual data and
the model. p is the input to the model, since we have 3
parameters (a,b,c) which we want to find optimized values for, p is a
vector with three entries. These entries are our intial guesses
at values for a, b, and c. We'll get back to this later.
Step 3:
Continue with building the function. Since we want our data (x
and y), which were declared in the program week10, to be available to
this function, we will declare them as global (also remember to declare
them as global in the week10 program).
Also note that you should NOT have a comma between x and y when
declaring them as global.
function ssd=mymodel(p)
global x y
Step 4:
Continue with building the function. Write the equation for
predicted y (our model output). We'll call this yhat (the hat
stands for predicted value). Note that the parameters a,b, and c
are in the vector p:
function ssd=mymodel(p)
global x y
yhat=p(1)*tan(x)
+p(2)*exp(x.^2)+p(3)*x.^2;
Step 5:
Continue with building the function: Determine the sum of the
squared deviations (ssd) between your data (y) and the predicted y from
the model. Note that ssd is the functions output and the value
the we will try to minimize:
function ssd=mymodel(p)
global x y
yhat=p(1)*tan(x)
+p(2)*exp(x.^2)+p(3)*x.^2; %model prediction
ssd=sum((y-yhat).^2); %sum of the squared deviations between data
and model
Step 6:
We are done with the function. This function should have been
save under the file name mymodel
Continue with building the main program named week10. We
arbitrarily select 3 initial values for a, b, and c. These are of
course just our guesses and not optimal values. Looking at the
figure we probably should not pick really large values (>100) or
really small values (<0.1). We'll pick 2, 3, and 4 (try other
numbres if you like).
Note also that we are
now declaring x and y as global.
clear;
global x y;
x=-1:0.2:1;
y=[9.2 6.6 5.3 4.7 4.6 4.9 5.5
6.6 8.4 11.3 16.4];
plot(x,y,'*');
p=[2 3 4];
Step 7:
Use fminsearch, the function you created (mymodel) and the initial
guesses to search for optimum parameter values. Save these
optimum values in a variable called ep (for estimated parameters).
clear;
global x y;
x=-1:0.2:1;
y=[9.2 6.6 5.3 4.7 4.6 4.9 5.5
6.6 8.4 11.3 16.4];
plot(x,y,'*');
p=[2 3 4];
ep = fminsearch('mymodel',p);
Note that ep is a vector containing 3 values corresponding to a, b, and
c in our model.
Step 8:
This step isn't necessary, but to make the equation more readable,
define variables a, b, and c, and have each be assigned the appropriate
value from ep.
clear;
global x y;
x=-1:0.2:1;
y=[9.2 6.6 5.3 4.7 4.6 4.9 5.5
6.6 8.4 11.3 16.4];
plot(x,y,'*');
p=[2 3 4];
ep = fminsearch('mymodel',p);
a=ep(1);
b=ep(2);
c=ep(3);
Step 9:
Finally, calculate the model equation using these three estimated
parameters and plot the data and model fit.
clear;
global x y;
x=-1:0.2:1;
y=[9.2 6.6 5.3 4.7 4.6 4.9 5.5
6.6 8.4 11.3 16.4];
plot(x,y,'*');
p=[2 3 4];
ep = fminsearch('mymodel',p);
a=ep(1);
b=ep(2);
c=ep(3);
yhat=a*tan(x) +b*exp(x.^2)+c*x.^2;
plot(x,y,'*',x,yhat,'r-');
Note: After you run the program, type ep and hit return to see the
optimized values of a, b and c (compare these to your initial guess at
these parameter values).