How can i verify that my algorithm has not missed

Assignment Help Data Structure & Algorithms
Reference no: EM13944311

I wrote this program (with a lot of help) that finds multiple roots using bisection. For example, this program found the first 10 roots of cos(5x). Now, I'm supposed to find and store the first 50 roots of
Where
= 50; L = 200; = 0.447; = 4.47
= 25; L= 200; = 0.748; = 1.875
= 15; L= 200; = 0.045; = 19.25

The instructions say: Now we must only modify the variable that determines the number of roots to find. We must also refine (i.e. improve) the bracket search algorithm so that roots that are not evenly spaced can be found. Test your algorithm by finding the roots for at least three different combinations of the parameters and L. How can you verify that your algorithm has not missed any of the roots? HINT: Consider the maximum frequency (dig back to that trig you forgot) to help determine the size of an appropriate bracket for this part of the problem.

(1) I only understand the first sentence of these instructions. How do I modify my program to find those 50 roots and, yes, how can I verify that my algorithm has not missed any of the roots?

(2) Also, could you please describe what each line of the main program is doing? I understand the subprogram, ‘bisection,' pretty well. I know the two programs are similar.
Main Program (for finding first 10 roots of cos(5x))

function root=multibisection(func,j,xtol,ftol)
xlower=0;
xupper=xlower+j;
ylower=feval(func,xlower); %takes func and evaluates xlower into that function
yupper=feval(func,xupper);
i=1;
while i<11
ylower=feval(func,xlower); %takes func and evaluates xlower into that function
yupper=feval(func,xupper);
if abs(ylower)<ftol;
root=xlower;
return
elseif abs(yupper)<ftol;
root=xupper;
return
end

while (yupper*ylower)>0
xlower=xupper;
xupper=xlower+j;
yupper=feval(func,xupper);
ylower=feval(func,xlower);
end
b=bisection(func,xlower,xupper,xtol,ftol);
roots(i)=b;
i=i+1;
xlower=b+j;
xupper=xlower+j;
end
roots
format long


Sub Program
function root=bisection(func,xlower,xupper,xtol,ftol)

xroot=(xlower + xupper)/2;
yroot=feval(func,xroot);
count=0;

while abs(yroot)>ftol;
ylower=feval(func,xlower); %takes func and evaluates xlower into that function
yupper=feval(func,xupper);
if ylower*yroot<0;
xupper=xroot;
yupper=yroot;
else
xlower=xroot;
ylower=yroot;
end

if abs(xupper-xlower)<xtol
root=xroot;
return
end
root=xroot;

xroot=(xlower + xupper)/2;
yroot=feval(func,xroot);

count=count + 1;
if count>500 %max number of iterations
count
range=xupper-xlower
disp ('too many interval halvings, stopping ...')
root=xroot
return
end
end %ends the while loop

Line4 m-file
function y=line4(x)
y=cos(5*x);

Testing:
>> multibisection(@line4,0.314,1e-11,1e-11)

roots =

Columns 1 through 4

0.31415926533914 0.94247779608140 1.57079632675968 2.19911485721864

Columns 5 through 8

2.82743338823505 3.45575191891333 4.08407044967386 4.71238898037956

Columns 9 through 10

5.34070751111268 5.96902604181838

Reference no: EM13944311

Questions Cloud

Human resource management role in organisation : Assessment objective: Explain the significance of the human resource management role in organisations, its different facets and its contribution to the achievement of corporate goals
Standard deviations and interquartile ranges : Q) Construct two sets of numbers with at least five numbers in each set with following characteristics;
Why cultural self-awareness vital for cultural intelligence : Write an essay to critically reflect on why cultural self-awareness is important to develop cultural intelligence. You should first define the term 'cultural self-awareness' and ‘cultural intelligence'.
Devise a preliminary control scheme for the sections : Devise a preliminary control scheme for the sections of the nitric acid plant described in Chapter 2, flow sheet Figure 2.8, which are listed below. Make a practice HAZOP study of each section and revise your preliminary control scheme.
How can i verify that my algorithm has not missed : ) I only understand the first sentence of these instructions. How do I modify my program to find those 50 roots and, yes, how can I verify that my algorithm has not missed any of the roots?
Is the pharmacy likely an unrelated trade or business : An exempt municipal hospital operates a pharmacy that is staffed by a pharmacist 24 hours per day. The pharmacy serves only hospital patients. Is the pharmacy likely an unrelated trade or business? Explain.
How particular school grew of original field of epistemology : Explain who the main contributors were, and the evolution of how this particular school grew out of the original field of epistemology or metaphysics.
Confidence interval for the population mean number : Construct a 95% confidence interval for the population mean number of shares traded per day in 2010. Interpret the confidence interval.
Code for a sequential search and a binary search : I have code for a sequential search and a binary search. I have to "add a counter for every key comparison in each search function and print out the number of key comparisons for each search."

Reviews

Write a Review

Data Structure & Algorithms Questions & Answers

  Implement an open hash table

In this programming assignment you will implement an open hash table and compare the performance of four hash functions using various prime table sizes.

  Use a search tree to find the solution

Explain how will use a search tree to find the solution.

  How to access virtualised applications through unicore

How to access virtualised applications through UNICORE

  Recursive tree algorithms

Write a recursive function to determine if a binary tree is a binary search tree.

  Determine the mean salary as well as the number of salaries

Determine the mean salary as well as the number of salaries.

  Currency conversion development

Currency Conversion Development

  Cloud computing assignment

WSDL service that receives a request for a stock market quote and returns the quote

  Design a gui and implement tic tac toe game in java

Design a GUI and implement Tic Tac Toe game in java

  Recursive implementation of euclids algorithm

Write a recursive implementation of Euclid's algorithm for finding the greatest common divisor (GCD) of two integers

  Data structures for a single algorithm

Data structures for a single algorithm

  Write the selection sort algorithm

Write the selection sort algorithm

  Design of sample and hold amplifiers for 100 msps by using n

The report is divided into four main parts. The introduction about sample, hold amplifier and design, bootstrap switch design followed by simulation results.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd