Home › Applications › Matlab

It looks like you're new here. If you want to get involved, click one of these buttons!

- 140.5K All Categories
- 104.3K Programming Languages
- 6.4K Assembler Developer
- 1.8K Basic
- 39.7K C and C++
- 4.2K C#
- 7.9K Delphi and Kylix
- 4 Haskell
- 9.6K Java
- 4.1K Pascal
- 1.3K Perl
- 1.9K PHP
- 503 Python
- 47 Ruby
- 4.3K VB.NET
- 1.6K VBA
- 20.8K Visual Basic
- 2.6K Game programming
- 308 Console programming
- 88 DirectX Game dev
- 1 Minecraft
- 108 Newbie Game Programmers
- 2 Oculus Rift
- 8.9K Applications
- 1.8K Computer Graphics
- 726 Computer Hardware
- 3.4K Database & SQL
- 520 Electronics development
- 1.6K Matlab
- 627 Sound & Music
- 254 XML Development
- 3.2K Classifieds
- 189 Co-operative Projects
- 171 For sale
- 189 FreeLance Software City
- 1.9K Jobs Available
- 598 Jobs Wanted
- 199 Wanted
- 2.9K Microsoft .NET
- 1.7K ASP.NET
- 1.1K .NET General
- 2.9K Miscellaneous
- 3 Join the Team
- 2 User Profiles
- 352 Comments on this site
- 56 Computer Emulators
- 1.7K General programming
- 136 New programming languages
- 598 Off topic board
- 160 Mobile & Wireless
- 34 Android
- 124 Palm Pilot
- 334 Multimedia
- 151 Demo programming
- 183 MP3 programming
- 0 Bash scripts
- 15 Cloud Computing
- 52 FreeBSD
- 1.7K LINUX programming
- 364 MS-DOS
- 0 Shell scripting
- 319 Windows CE & Pocket PC
- 4.1K Windows programming
- 877 Software Development
- 401 Algorithms
- 67 Object Orientation
- 82 Project Management
- 88 Quality & Testing
- 232 Security
- 7.5K WEB-Development
- 1.8K Active Server Pages
- 61 AJAX
- 2 Bootstrap Themes
- 55 CGI Development
- 19 ColdFusion
- 222 Flash development
- 1.4K HTML & WEB-Design
- 1.4K Internet Development
- 2.2K JavaScript
- 33 JQuery
- 283 WEB Servers
- 107 WEB-Services / SOAP

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

[B]Regula Falsi method

[/B]

The standard Regula Falsi is a method to find roots of a function in an interval [a, b] similar to the bisection method. Assume that f(a)*f(b) < 0. Regula Falsi determines a new point xm as the intersection of the straight line connecting (a, f (a)) and (b, f (b)) with the x-axis:

xm = (f(a)*b - f(b)*a) / (f(a) - f(b) ) (1)

If f(xm) has the same sign as f(a) then the new lower bound a is xm and b stays the same. (Case a)

If f(xm) has the same sign as f(b) then the new upper bound b is xm while a stays the same. (Case b)

If f(xm) = 0 then xm is a root => stop with a=b=xm

----------------------------------------------------------------------

[COLOR="Navy"][B]The Weighted regula falsi method[/B]

The weighted regula falsi follows the same procedure as the regula falsi method but it modifies the equation (1) for xm slightly:

xm =

( wa*b*f(a) - wb*a*f (b) ) / ( wa*f(a) - wb*f(b) )

where the weights wa and wb are set initially equal to 1. In later stages they are set as the following:

if the previous k>=2 iterations all were of (Case a) then wb = 2^(1-k) and wa = 1

If the previous k>=2 iterations all were of (Case b) then wa = 2^(1-k) and wb = 1

otherwise wa = wb = 1[/COLOR]

----------------------------------------------------------------

[COLOR="Navy"][B]Question:[/B]

(a)

Write a function WeightRF that finds the root of a function f using the above weighted regula falsi method. The first line of the file WeightRF.m should look like:

function [a,b]=WeightRF(f,aini,bini,maxit,tol)

The meaning of the inputs has to be:

f: a function of a single variable that you can call inside WeightRF. The procedure is supposed to find a root of f;

aini: initial lower bound for the root of f;

bini: intial upper bound for the root of f; the root of f is to be found between aini and bini;

maxit (positive integer): the iteration should stop as soon as the number of iterations exceeds maxit

tol (small positive real number): tolerance; the iteration should stop if the difference between the current bounds is less than tol.

The meaning of the outputs has to be:

a: a column vector of all lower bounds generated by the iteration;

b: a column vector of all upper bounds generated by the iteration.

This means that the return values a and b are vectors with at most maxit elements, a(1) should be aini, and b(1) should be bini. If the iteration stops after i<maxit iterations are reached then a and b should contain i elements.[/COLOR]

----------------------------------------------------------------------

Well, I don't even really know how to do simple loops yet, this unit has gone far too fast and we have been expected to do too much too soon :/ I also don't really understand the concept of the weighted regula falsi method much, so any help would be appreciated :)

About & Contact / Terms of use / Privacy statement / Publisher: Lars Hagelin

Programmers Heaven articles / Programmers Heaven files / Programmers Heaven uploaded content / Programmers Heaven C Sharp ebook / Operated by CommunityHeaven LLC

© 1997-2013 Programmersheaven.com - All rights reserved.

## Comments

2Memberbump

- Spam

0 · Vote Down Vote Up · Share on Facebook