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 "Mathe-Software" - Regula Falsi MATLAB
Regula Falsi MATLAB < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Mathe-Software"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Regula Falsi MATLAB: Tipp
Status: (Frage) beantwortet Status 
Datum: 14:31 Fr 11.11.2011
Autor: stffn

Aufgabe
Die Funktion 'regulafalsi(f,a,b,tol)', welche die kleinste positive Nullstelle der Funktion $f(x)=cosh(x)*cos(x)+1$ berechnet soll geschrieben werden.
Die Iteration soll dann abbrechen, wenn die NS x die Bedingung [mm] $abs(f(x))\le [/mm] tol$ erfüllt. Die Nullstelle soll auf zehn Stellen genau berechnet werden.

Hallo zusammen.
Ich muss vorweg sagen, dass ich bei Matlab ins kalte Wasser geworfen wurde, und keinerlei Erfahrung mit dem Programmieren damit habe. Nur ein bisschen c-Kenntnisse.

Es fängt bei mir also schon in der ersten Zeile mit dem ersten Problem an.

Ich möchte zunächst die Funktion f(x) definieren:

function y=cosh(x)*cos(x)+1;
%Funktionsdeklaration


Wenn ich das Ausführe, zeigt er mir immer folgende Meldung an:

"??? Error: File: y.m Line: 1 Column: 19
Unexpected MATLAB operator.

??? Error: File: y.m Line: 1 Column: 12
Unbalanced or unexpected parenthesis or bracket
".

Vorher hatte ich es so probiert:
function y=f(x);
y=cosh(x)*cos(x)+1;
%Funktionsdeklaration
.

Dann hat er mir gesagt, dass x undefiniert ist.

Wie ihr seht, scheitere ich bereits an den Grundlagen.
Ich hoffe das ist kein Grund für euch, mir nicht zu helfen. Auch wenn es bestimmt eine schwere Geburt wird:)

Ich bedanke mich, und wünsche ein schönes Wochenende!


        
Bezug
Regula Falsi MATLAB: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:45 Fr 11.11.2011
Autor: Valerie20


>  
> Ich möchte zunächst die Funktion f(x) definieren:

> Vorher hatte ich es so probiert:
>  function y=f(x);
> y=cosh(x)*cos(x)+1;
> %Funktionsdeklaration .

so müsstest du eigentlich ein Ergebnis bekommen.
Hast du die Funkton gespeichert?
Wenn nein Speichere sie mal unter f.m
dann gib in dein Terminal k=f(5) oder sonst irgendwas ein.



Bezug
        
Bezug
Regula Falsi MATLAB: Antwort
Status: (Antwort) fertig Status 
Datum: 14:51 Fr 11.11.2011
Autor: MathePower

Hallo stffn,

> Die Funktion 'regulafalsi(f,a,b,tol)', welche die kleinste
> positive Nullstelle der Funktion [mm]f(x)=cosh(x)*cos(x)+1[/mm]
> berechnet soll geschrieben werden.
>  Die Iteration soll dann abbrechen, wenn die NS x die
> Bedingung [mm]abs(f(x))\le tol[/mm] erfüllt. Die Nullstelle soll
> auf zehn Stellen genau berechnet werden.
>  Hallo zusammen.
>  Ich muss vorweg sagen, dass ich bei Matlab ins kalte
> Wasser geworfen wurde, und keinerlei Erfahrung mit dem
> Programmieren damit habe. Nur ein bisschen c-Kenntnisse.
>  
> Es fängt bei mir also schon in der ersten Zeile mit dem
> ersten Problem an.
>  
> Ich möchte zunächst die Funktion f(x) definieren:
>  
> function y=cosh(x)*cos(x)+1;
> %Funktionsdeklaration
>  
> Wenn ich das Ausführe, zeigt er mir immer folgende Meldung
> an:
>  
> "??? Error: File: y.m Line: 1 Column: 19
> Unexpected MATLAB operator.
>
> ??? Error: File: y.m Line: 1 Column: 12
> Unbalanced or unexpected parenthesis or bracket".
>  
> Vorher hatte ich es so probiert:
>  function y=f(x);
> y=cosh(x)*cos(x)+1;
> %Funktionsdeklaration .
>  
> Dann hat er mir gesagt, dass x undefiniert ist.
>  
> Wie ihr seht, scheitere ich bereits an den Grundlagen.
>  Ich hoffe das ist kein Grund für euch, mir nicht zu
> helfen. Auch wenn es bestimmt eine schwere Geburt wird:)
>  


Die Funktionsdeklaration geht so:

function [y]=f(x)
y=cosh(x)*cos(x)+1;


Siehe auch: []Funktionsdeklaration


> Ich bedanke mich, und wünsche ein schönes Wochenende!

>


Gruss
MathePower  

Bezug
                
Bezug
Regula Falsi MATLAB: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:12 Fr 11.11.2011
Autor: stffn

Ok, danke nochmal für dei schnellen Antworten.

Also wenn ich mir f(2) z.B. ausrechnen lasse macht er das auch.

Der Fehler, dass x undefiniert ist, wird mir trotzdem angezeigt.

Naja, ich gehe mal davon aus, dass ich trotzdem auf dem richtigen Weg bin.
Jetzt muss ich mir ja mein Intervall definieren.
Ich habe mir die Funktion mal plotten lassen und weiß, dass die kleinste positive NS irgendwo zwischen 1 und 2 liegt.
Also möchte ich mir als Intervallgrenzen a=1 und b=2 wählen.

Aber wie muss ich meine Toleranz bestimmen?
Da die genauigkeit 10 Stellen betragen soll (gehe ich mal von 9 nachkommastellen aus), ist meine toleranz 0.000000001?
Ich versuche einfach mal irgendwie weiter zu machne, bin aber für jeden weiteren Tip, der  mir das leben leichter machen würde, sehr dankbar.


Bezug
                        
Bezug
Regula Falsi MATLAB: Antwort
Status: (Antwort) fertig Status 
Datum: 15:35 Fr 11.11.2011
Autor: MathePower

Hallo stffn,

> Ok, danke nochmal für dei schnellen Antworten.
>  
> Also wenn ich mir f(2) z.B. ausrechnen lasse macht er das
> auch.
>  
> Der Fehler, dass x undefiniert ist, wird mir trotzdem
> angezeigt.
>  
> Naja, ich gehe mal davon aus, dass ich trotzdem auf dem
> richtigen Weg bin.
>  Jetzt muss ich mir ja mein Intervall definieren.
>  Ich habe mir die Funktion mal plotten lassen und weiß,
> dass die kleinste positive NS irgendwo zwischen 1 und 2
> liegt.
>  Also möchte ich mir als Intervallgrenzen a=1 und b=2
> wählen.
>  


Ich denke, das Intervall, in dem die
kleinste positivste Nullstelle liegt, soll herausgefunden werden.
Prüfe z.B ob f(n)*f(n+1)<0 ist. Ist so ein n gefunden,
dann sind das Deine Startwerte für die Regula falsi.


> Aber wie muss ich meine Toleranz bestimmen?
>  Da die genauigkeit 10 Stellen betragen soll (gehe ich mal
> von 9 nachkommastellen aus), ist meine toleranz
> 0.000000001?


Die Toleranz ist doch  vorgegeben.


>  Ich versuche einfach mal irgendwie weiter zu machne, bin
> aber für jeden weiteren Tip, der  mir das leben leichter
> machen würde, sehr dankbar.

>


Gruss
MathePower  

Bezug
                                
Bezug
Regula Falsi MATLAB: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:44 Fr 11.11.2011
Autor: stffn

Also wir hatten als Hinweis bekommen, dass wir die Funktion einfach plotten sollen, um geeignete Startwerte zu finden.

Also nehme ich als Toleranz 0.01.
Ich habe folgendes zusammengebracht. Bitte sei gnädig mit mir, das ist das erste mal das ich was von der Regula Falsi gehört habe und zudem das erste mal das ich mit Matlab arbeite:):

function [y]=f(x)
y=cosh(x)*cos(x)+1;
%Funktionsdeklaration

a=1;
b=2;
tol=0.01;
%Definition der Intervallgrenzen und der Toleranz
c=abs(f(1))
%Festlegung eines Startwertes

for c=abs(f(1)):(c<=tol)
        regulafalsi(@f,a,b,tol);
        c=abs(f(x))      
end
%Anwendung der Rregula Falsi  


Abgesehen, dass es wahrscheinlich sowieso komplett falsch ist, zeigt er mir folgende Fehlermeldung an:

??? Input argument "x" is undefined.

Error in ==> f at 2
y=cosh(x)*cos(x)+1;
.

Äußerst merkwürdig

Bezug
                                        
Bezug
Regula Falsi MATLAB: Antwort
Status: (Antwort) fertig Status 
Datum: 15:54 Fr 11.11.2011
Autor: MathePower

Hallo stffn,

> Also wir hatten als Hinweis bekommen, dass wir die Funktion
> einfach plotten sollen, um geeignete Startwerte zu finden.
>  


Ok.


> Also nehme ich als Toleranz 0.01.
> Ich habe folgendes zusammengebracht. Bitte sei gnädig mit
> mir, das ist das erste mal das ich was von der Regula Falsi
> gehört habe und zudem das erste mal das ich mit Matlab
> arbeite:):
>  
> function [y]=f(x)
>  y=cosh(x)*cos(x)+1;
>  %Funktionsdeklaration
>  
> a=1;
>  b=2;
>  tol=0.01;
>  %Definition der Intervallgrenzen und der Toleranz
>  c=abs(f(1))
>  %Festlegung eines Startwertes
>  
> for c=abs(f(1)):(c<=tol)
>          regulafalsi(@f,a,b,tol);
>          c=abs(f(x))      
> end


Die Scheife ist hier fehl am Platz.

In der Funkion regulafalsi ist die Toleranzgrenze tol abzufragen.


>  %Anwendung der Rregula Falsi  
>
> Abgesehen, dass es wahrscheinlich sowieso komplett falsch
> ist, zeigt er mir folgende Fehlermeldung an:
>  
> ??? Input argument "x" is undefined.
>
> Error in ==> f at 2
> y=cosh(x)*cos(x)+1;.
>  
> Äußerst merkwürdig


Gruss
MathePower

Bezug
                                                
Bezug
Regula Falsi MATLAB: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:18 Fr 11.11.2011
Autor: stffn

Ok. Aber muss ich die Grenzen nach jedem Iterationsschritt neu definieren oder macht Matlab das mit der Funktion 'regulafalsi(...)' selbst?
In der Hilfe steht irgendwie nichts zu regulafalsi.
Nämlich wenn er das selbst macht, brauch ich ja so wie so überhaupt keine Schleife.

function y=f(x)
y=cosh(x)*cos(x)+1;
%Funktionsdeklaration

a=1;
b=2;
tol=0.01;
%Definition der Intervallgrenzen und der Toleranz

regulafalsi(@f,a,b,tol);


Auch wenn mein neuer Vorschlag bestimmt nicht richtig ist, würde das ja dann ziemlich einfach gehalten werden können.
Ich hab auch immernoch das Problem mit der Definition von x. Er zeigt mir immer diese Meldung an:

??? Input argument "x" is undefined.

Error in ==> f at 2
y=cosh(x)*cos(x)+1


Was kann man dagegen machen?



Bezug
                                                        
Bezug
Regula Falsi MATLAB: Antwort
Status: (Antwort) fertig Status 
Datum: 16:44 Fr 11.11.2011
Autor: MathePower

Hallo stffn,

> Ok. Aber muss ich die Grenzen nach jedem Iterationsschritt
> neu definieren oder macht Matlab das mit der Funktion
> 'regulafalsi(...)' selbst?
>  In der Hilfe steht irgendwie nichts zu regulafalsi.
>  Nämlich wenn er das selbst macht, brauch ich ja so wie so
> überhaupt keine Schleife.
>  
> function y=f(x)
>  y=cosh(x)*cos(x)+1;
>  %Funktionsdeklaration
>  
> a=1;
>  b=2;
>  tol=0.01;
>  %Definition der Intervallgrenzen und der Toleranz
>  
> regulafalsi(@f,a,b,tol);
>  
>
> Auch wenn mein neuer Vorschlag bestimmt nicht richtig ist,
> würde das ja dann ziemlich einfach gehalten werden
> können.
>  Ich hab auch immernoch das Problem mit der Definition von
> x. Er zeigt mir immer diese Meldung an:
>  
> ??? Input argument "x" is undefined.
>
> Error in ==> f at 2
> y=cosh(x)*cos(x)+1
>  
> Was kann man dagegen machen?
>  


Lies Dir dazu diesen []Artikel durch.

Falls die Matlab Version < 7 ist, siehe: []Matlab-Funktionen
Auf Seite 55 und 56 steht alles, was Du dazu wissen musst.


Gruss
MathePower

Bezug
                                                                
Bezug
Regula Falsi MATLAB: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:49 Fr 11.11.2011
Autor: stffn

Ok. Ist Version 7.12.
Ich les mir das mal durch, schaffs aber heute nicht mehr. Falls ich nochmal ne frage habe, meld ich mich.
Danke nochmal an MathePower. Einen sschönen Abend noch!

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Mathe-Software"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de