Skip to main content

NEWTON’S METHOD FOR MINIMUM


##Newton's Method to find
##the minimum of the function F(x)=(x-2)^4-9
##with the initial guess xmin=1.0
##Constants and initializations
xmin=[]; ##The empty array of x that minimizes the F(x)
xmin(1)=1.0; ##Initial value of the xmin
Fmin=[]; ##Minimum values of F(x)
x=0.0:0.1:4.0; ##Only for plotting purposes
F=[]; ##Our examined Function evaluated on x-space
Fp=[]; ##First derivative of F(x) wrt x
Fpp=[]; ##Second derivative o F(x) wrt x
NSteps=50; ##Step number of iteration
##Algorithm
for n=1:NSteps
Fmin(n)=(xmin(n)-2)^4-9;
Fp(n)=4*(xmin(n)-2)^3;
Fpp(n)=12*(xmin(n)-2)^2;
xmin(n+1)=xmin(n)-Fp(n)/Fpp(n);
Fmin(n+1)=(xmin(n+1)-2)^4-9;
endfor
printf("x*, at which F(x) is minimum, is %1.6f\n",xmin(n+1))
printf("Minimum of F(x) is %1.6f\n",Fmin(n+1))
F=(x-2).^4-9;
subplot(2,1,1)
plot(x,F)
title('Newton^,s Method-F(x) vs x');
xlabel('x');
ylabel('F(x)');
text(2,-7,'\downarrow')
text(1.7,-5.6,'(xmin,Fmin)=(2,-9)')
axis([-0,4,-10,10])
subplot(2,1,2)
plot(xmin,Fmin,'r-')
title('F(xmin) vs xmin')
xlabel('xmin')
ylabel('F(xmin)')
axis([0,4,-10,-7])
save -text NEWMETUmitAlkus.dat
text(1,-9.6,'\downarrow')
text(0.6,-9.4,'initial guess for xmin')
print('-dpsc', 'NEWMETUmitAlkus.ps')

Comments

Popular posts from this blog

NEWTON-RAPSON METHOD-8th degree Legendre polynomial

## Newton-Rapson Method to the smallest non negative root
## of the 8th degree Legendre Polynomial
## P8(x)=(1/128)(6435x^8-12012x^6+6930x^4-1260x^2+35)
## where -1<=x<=1.
## for the smallest non negative root, we can ignore
## all the terms except the last two by truncated
## the function to be zero and find
## x=0.167 as the initial smallest non negative
## root.
##Constants and initializations
x=[]; ## Empty array for the iterated x roots
x(1)=0.16700000; ## Initial guess to begin the iteration for the
## smallest non-negative root.
L8=[]; ## Empty array for the Legendre polynomial
L8p=[]; ## Empty array for the derivative of the Legendre polynomial
for i=1:100
##The value of the function at x
L8(i)=(1/128)*(6435*x(i)^8-12012*x(i)^6+6930*x(i)^4-1260*x(i)^2+35);
##The value of the derivative of the function at x
L8p(i)=(1/128)*(6435*8*x(i)^7-12012*6*x(i)^5+6930*4*x(i)^3-1260*2*x(i));
x(i+1)=x(i)-L8(i)/L8p(i); ## the iteration
endfor
## For plot let's define a new variable…

Second Harmonic Generation

gnuplot> set xrange [-180:180] gnuplot> set yrange [-180:180] gnuplot> set pm3d gnuplot> set hidden3d  gnuplot> set title 'SHG' gnuplot> splot sin(cos(x*pi/180))*sin(cos(x*pi/180))/(cos(x*pi/180)*cos(x*pi/180))*sin(cos(y*pi/180))*sin(cos(y*pi/180))/(cos(y*pi/180)*cos(y*pi/180)) title 'N=1
'