www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Differenzialrechnung" - Bisektionsverfahren
Bisektionsverfahren < Differenzialrechnung < Analysis < Oberstufe < Schule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Differenzialrechnung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Bisektionsverfahren: Programierung
Status: (Frage) beantwortet Status 
Datum: 19:03 Mo 13.05.2013
Autor: PeterSteiner

ich versuche Krampfhaft das bisektionsverfahren in Matlab zu programieren mittels einer vorschleife, jedoch ohne erfolg.
Da ich auf dem Gebiet noch kine erfahrung habe benötige ich hilfe oder hat vielleicht jemanhd schon ein fertig geschriebens programm in matlab dafür?

        
Bezug
Bisektionsverfahren: Antwort
Status: (Antwort) fertig Status 
Datum: 19:33 Mo 13.05.2013
Autor: leduart

Hallo
Zeig doch mal deine Versuche,oder wenigstens ein Flussdiagramm!
Gruß  leduart

Bezug
                
Bezug
Bisektionsverfahren: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:06 Mo 13.05.2013
Autor: PeterSteiner

Also mal die schritte:

F(a)F(b)<0
dann c= a+b/2

f(c) < 10^-8

ende sonst nchmal die schleife

hab kein plan wie das zu programieren ist.

Bezug
                        
Bezug
Bisektionsverfahren: Antwort
Status: (Antwort) fertig Status 
Datum: 21:33 Mo 13.05.2013
Autor: Al-Chwarizmi


> Also mal die schritte:
>  
> F(a)F(b)<0
>  dann c= a+b/2     [haee]

du meinst vermutlich  c = [mm] \frac{a+b}{2} [/mm]

damit dies richtig rüberkommt, musst du aber eben
den Bruchstrich verwenden oder richtig Klammern setzen
  

> f(c) < 10^-8
>  
> ende sonst nchmal die schleife
>
> hab kein plan wie das zu programieren ist.



Hallo Peter,

um sowas wirklich programmieren zu können,
muss man sich den ganzen Vorgang schon genauer
überlegen und eben seine einzelnen Schritte planen.
Vermutlich soll eine Funktion f vorausgesetzt sein,
welche über einem Intervall [a...b] mit a<b definiert
und stetig ist und die Voraussetzung f(a)*f(b)<0 erfüllt.
Die Werte von a und b und die Formel zur Berechnung
von Funktionswerten f(x) aus gegebenen x-Werten
müssen dem Programm als Eingabewerte vorliegen.
Nun müsste folgender Prozess mehrmals wiederholt
werden (bis ein gewisses Abbruchkriterium erfüllt
ist):
1.) Berechne den Mittelwert c von a und b.
2.) Berechne den Funktionswert f(c).
3.) Wird (zufällig) exakt f(c)=0, dann ist c eine
     Nullstelle, und wir sind am Ziel und könnten
     ev. die Schleife (in Matlab mittels "break")
     abbrechen.
     Andernfalls:
4.) Setze [mm] b_{neu}:=c [/mm] , falls f(a)*f(c)<0  oder aber
     [mm] a_{neu}:=c [/mm] , falls f(c)*f(b)<0

Anstatt einer FOR - Schleife würde ich aber eher eine
WHILE - Schleife empfehlen, da die Anzahl der
notwendigen Schritte nicht im Voraus bekannt ist.

Als While-Bedingung kannst du dann etwa nehmen:

While [mm] ABS(f(c))>10^{-8} [/mm] .....  Dazu müsste man aber
dem c gleich schon von Anfang an einen Wert zuordnen;
man könnte z.B. am Start des Programms c:=a setzen.

(wie die Syntax in Matlab genau aussieht, weiß ich
nicht, da ich nicht mit Matlab arbeite).

LG ,   Al-Chw.










Bezug
                                
Bezug
Bisektionsverfahren: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 21:39 Mo 13.05.2013
Autor: PeterSteiner

ok. ich habe dein ausführung verstanden nur bin ich nicht in der Lage eine solche schleife zu programieren:(

Bezug
                                        
Bezug
Bisektionsverfahren: Antwort
Status: (Antwort) fertig Status 
Datum: 22:03 Mo 13.05.2013
Autor: Al-Chwarizmi

Naja, allzu schwierig wäre es natürlich nicht, dazu
im Netz mögliche Wege zu finden.

Google halt mal z.B.

Matlab Bisektionsmethode

Matlab Intervallhalbierung

oder so ...

Besser fände ich es allerdings noch, wenn du dann
konkrete Fragen wieder hier vorbringen würdest.

LG ,

Al-Chw.



Bezug
                                                
Bezug
Bisektionsverfahren: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 10:13 Di 14.05.2013
Autor: Al-Chwarizmi

Ich habe mal ein wenig gegraben nach einem eigenen
Progrämmchen zu diesem Thema. Allerdings ist es
in Pascal geschrieben. Das Wesentliche daraus:


PROGRAM Bisektion;

const epsilon = 1E-12;

var   a, b, c, fa, fb, fc: real;

function f(x:real):real;
  begin
   f:={Funktionsterm}
  end;
    
{------------------------------------}

BEGIN
a:=1;b:=5;   {vorgegebene Intervallgrenzen}
c:=a;
while abs(f(c)) > epsilon do
  begin
   fa:=f(a);
   fb:=f(b);
   fc:=f(c);  
   if fc*fa < 0 then b:=c else a:=c;
   c:=(a+b)/2;
  end;
writeln(c,f(c))
END.

LG ,   Al-Chw.

Bezug
        
Bezug
Bisektionsverfahren: Antwort
Status: (Antwort) fertig Status 
Datum: 21:03 Mo 13.05.2013
Autor: Al-Chwarizmi


> ich versuche Krampfhaft das bisektionsverfahren in Matlab
> zu programieren mittels einer vorschleife, jedoch ohne
> erfolg.

vorschleife ???

du meinst wohl eine FOR - Schleife !

Bezug
                
Bezug
Bisektionsverfahren: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:05 Di 14.05.2013
Autor: PeterSteiner

ich habs mit biegen und brechen doch irgendwie hinbekommen :) jetzt wüsste ich gerne wie ich den absolouten Fehler berechnen kann?

Auch ganz allgmein

Bezug
                        
Bezug
Bisektionsverfahren: Antwort
Status: (Antwort) fertig Status 
Datum: 16:41 Di 14.05.2013
Autor: Event_Horizon

Hallo!

Die Schleife läuft so lange durch, bis die Länge des Intervalls einen gewissen Wert nicht unterschreitet. Diesen Wert findest du bei Al-Chwarizmi's Beitrag  z.B. unter dem Variablennamen "epsilon". Das ist also die maximale Diffenz zwischen dem ermittelten und dem realen Wert. Damit kann der Fehler nicht bestimmt werden, sondern er wird vorgegeben!

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Differenzialrechnung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de