www.matheraum.de
Das Matheforum.
Das Matheforum des MatheRaum.

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

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
Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenMatlabFunktionsberechnung
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Deutsch • Englisch • Französisch • Latein • Spanisch • Russisch • Griechisch
Forum "Matlab" - Funktionsberechnung
Funktionsberechnung < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Funktionsberechnung: Übung
Status: (Frage) beantwortet Status 
Datum: 08:13 Fr 31.10.2014
Autor: capri

Aufgabe
Die folgenden Funktionen p,q, sind Näherungen für Arcustangens:
(a) Partialsumme der Potenzreihe
$ p(x) = [mm] x-\bruch{x^3}{3}+\bruch{x^5}{5}-\bruch{x^7}{7}+\bruch{x^9}{9} [/mm] $  für $  [mm] \left| x \right| \le [/mm] 1 $

bzw.

$ p(x) = [mm] \bruch{\pi}{2}-[\bruch{1}{x}-\bruch{1}{3x^2}+\bruch{1}{5x^5}-\bruch{1}{7x^7}] [/mm] $  für $  x > 1 $


(b) Anfangsstück der Kettenbruchentwicklung:

$ q(x) = [mm] \bruch{x}{1+}\bruch{x^2}{3+}\bruch{4x^2}{5+}\bruch{9x^2}{7+}\bruch{16x^2}{9+} [/mm] $

Vergleichen Sie diese Näherungen mit der Bibliotheksfunktion für Arcustangens in Matlab, indem Sie für $ x = 0.0(0.02)1.0(0.05)2.0 $ berechnen und drucken

$ x [mm] \quad [/mm] p(x)-arctan(x) [mm] \quad [/mm] q(x) [mm] \quad [/mm] q(x)-arctan(x)  $

Hinweis zu a), b):

Klammern Sie die Terme wie beim Horner-Schema.

Guten morgen,

Wenn ich eine Wertetabelle machen würde für p,q.
Wäre das ok?
Und welche x-Werte würde ich denn benutzen also in welchem Intervall?


LG

        
Bezug
Funktionsberechnung: Antwort
Status: (Antwort) fertig Status 
Datum: 10:00 Fr 31.10.2014
Autor: Marcel

Hallo,

> Die folgenden Funktionen p,q, sind Näherungen für
> Arcustangens:
>  (a) Partialsumme der Potenzreihe
>  [mm]p(x) = x-\bruch{x^3}{3}+\bruch{x^5}{5}-\bruch{x^7}{7}+\bruch{x^9}{9}[/mm]
>  für [mm]\left| x \right| \le 1[/mm]
>  
> bzw.
>  
> [mm]p(x) = \bruch{\pi}{2}-[\bruch{1}{x}-\bruch{1}{3x^2}+\bruch{1}{5x^5}-\bruch{1}{7x^7}][/mm]
>  für [mm]x > 1[/mm]
>  
>
> (b) Anfangsstück der Kettenbruchentwicklung:
>  
> [mm]q(x) = \bruch{x}{1+}\bruch{x^2}{3+}\bruch{4x^2}{5+}\bruch{9x^2}{7+}\bruch{16x^2}{9+}[/mm]
>  
> Vergleichen Sie diese Näherungen mit der
> Bibliotheksfunktion für Arcustangens in Matlab, indem Sie
> für [mm]x = 0.0(0.02)1.0(0.05)2.0[/mm] berechnen und drucken
>  
> [mm]x \quad p(x)-arctan(x) \quad q(x) \quad q(x)-arctan(x) [/mm]
>  
> Hinweis zu a), b):
>
> Klammern Sie die Terme wie beim Horner-Schema.
>  Guten morgen,
>  
> Wenn ich eine Wertetabelle machen würde für p,q.
> Wäre das ok?
>  Und welche x-Werte würde ich denn benutzen also in
> welchem Intervall?

da steht doch nun wirklich Wort für Wort, was Du machen sollst. Definiere
Dir die Funktionen p und q in Matlab, da steht auch dabei, dass Du dabei
die Klammerung wie beim Hornerschema machen sollst.

Am Ende sollst Du Dir dann mit (etwa - das "etwa" schreibe ich dabei, weil
ich diese Auswahl des x-Vektors sehr merkwürdig finde... stehen da vielleicht
irgendwo Doppelpunkte mit dabei?)

    x=[0.0, 0.02, 1.0, 0.05, 2.0]

und

   v=[x; p(x); p(x)-arctan(x); q(x); q(x)-arctan(x)] (das erste p(x) habe
      ich nur ergänzt, weil es von der Logik her dahinpasste)

die entsprechende Ausgabe angeben lassen.

Wenn Du kein Matlab hast, nutze Octave. Wie man Funktionen per Term
definiert:

    []http://en.wikibooks.org/wiki/MATLAB_Programming/Portable_Functions

Eine Wertetabelle brauchst Du nicht, der obige von mir definierte Vektor
v ist ja gerade sowas... (v ist eigentlich eine Matrix).

P.S. Auch die Frage "Welche x-Werte nehme ich?" war überflüssig, da sie
doch komplett im Text beantwortet wird - siehe obigen Vektor x.

P.P.S. Wenn Du Matlab/Octave hast, und es kontrolliert haben willst, kann
ich das (aber erst im Laufe des Wochenendes) gerne machen. Entweder
das kleine Skript hier hochladen, was Du Dir dann selbst schreibst, oder
Dein Endergebnis (obiges v) kopieren und hier einfügen.

Und vermutlich wird [mm] $\arctan$ [/mm] in Matlab als atan geführt - aber es
sollte nicht so schwer sein, sich dahingehend zu informieren!

Gruß,
  Marcel

Bezug
                
Bezug
Funktionsberechnung: noch ein Hinweis...
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 10:25 Fr 31.10.2014
Autor: Marcel

Ich hatte ja gesagt:

> Wie man Funktionen per Term definiert:
>  
> []http://en.wikibooks.org/wiki/MATLAB_Programming/Portable_Functions

Eigentlich brauchst Du das auch nicht. Wenn ich etwa

    x=[0:0.1:1-0.1], y=x.^2 (beachte den Punkt vor dem ^ !)

in Matlab eintippe, dann sehe ich (am besten mit y.' - also y transponiert)
im Vektor y die Werte von [mm] $f(x)=x^2$ [/mm] für $x [mm] \in \{0,\;0,1,\;0.2,\;...,\;0.9\}.$ [/mm]

Kann es sein, dass Du bisher weder Matlab noch Octave (viel) genutzt hast?

Jedenfalls, was ich damit sagen will: Wenn Du erst "die x-Werte vordefinierst",
dann ist das schreiben einer Funktion mit der Methode, wie sie im Link
vorgestellt wird, überflüssig. Dennoch hilft diese Variante natürlich, denn
damit behältst Du vermutlich besser den Überblick!

Edit: Achja, und wie Du die Fallunterscheidung machen willst (für p), da
musst Du Dir auch was überlegen. Möglich wäre es, zwei Funktionen p1
und p2 zu definieren und dann ähnlich zu dem hier

    []http://www.gomatlab.de/plot-von-unstetiger-funktion-mit-fallunterscheidung-t11651.html

vorzugehen. Oder such

    []hier: http://wwwmath.uni-muenster.de/num/Vorlesungen/MATLAB-Kurs_WS09/Script/matlab-einfuehrung.pdf

nach "abschnitssweise definierte Funktionen".

Gruß,
  Marcel

Bezug
                
Bezug
Funktionsberechnung: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 11:04 Fr 31.10.2014
Autor: capri

Hallo, danke für die Antwort.
p1,p2 und q haben brüche aber die zeigt der leider hier nicht an aber in Matlab funktioniert es.

p1 = @(x) [mm] x-(x.^3\3)+(x.^5\5)-(x.^7\7)+(x.^9\9) [/mm]

p2 = @(x) [mm] pi\2-[(1\x)-(1\3*x.^2)+(1\5*x.^5)-(1\7*x.^7)] [/mm]

q = @(x) [mm] (x\1)+(x.^2\3)+(4*x.^2\5)+(9*x.^2\7)+(16*x.^2\9) [/mm]

x=[0.0, 0.02,1.0,0.05,2.0]

bei p1 und p2 stimmt was nicht q funktioniert aber normal denke ich bei p1 zeigt der mir einen Fehler an bei p2 kommen falsche werte raus
kannst du mir da kurz weiter helfen?

Ich benutze Matlab. Und du hast recht ich hatte vorher noch kein Matlab, habe erst vor einer Woche damit angefangen.


LG

Bezug
                        
Bezug
Funktionsberechnung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 12:12 Fr 31.10.2014
Autor: Marcel

Hallo,

> Hallo, danke für die Antwort.
>  p1,p2 und q haben brüche aber die zeigt der leider hier
> nicht an aber in Matlab funktioniert es.
>
> p1 = @(x) [mm]x-(x.^3/3)+(x.^5/5)-(x.^7/7)+(x.^9/9)[/mm]
>  
> p2 = @(x) [mm]pi\2-[(1/x)-(1/3*x.^2)+(1/5*x.^5)-(1/7*x.^7)][/mm]
>
> q = @(x) [mm](x/1)+(x.^2/3)+(4*x.^2/5)+(9*x.^2/7)+(16*x.^2/9)[/mm]
>  
> x=[0.0, 0.02,1.0,0.05,2.0]
>  
> bei p1 und p2 stimmt was nicht q funktioniert aber normal
> denke ich bei p1 zeigt der mir einen Fehler an bei p2
> kommen falsche werte raus
> kannst du mir da kurz weiter helfen?
>  
> Ich benutze Matlab. Und du hast recht ich hatte vorher noch
> kein Matlab, habe erst vor einer Woche damit angefangen.

ich schau's mir gleich an - aber muss erstmal zu Mittag essen. :-)

P.S. p1 wollten wir doch nur für $|x| [mm] \le [/mm] 1$ (Matlab: abs(x) ist Betrag von x). Und
durch 0 teilen ist natürlich nicht erlaubt - aber p2 sollte ja auch nur für
$|x| > [mm] \,1$ [/mm] angewendet werden!

P.P.S. / anstatt \ benutzen, Deine Brüche sind sonst nicht sichtbar (ich habe
es beim Zitieren korrigiert).

Gruß,
  Marcel

Bezug
                        
Bezug
Funktionsberechnung: Antwort
Status: (Antwort) fertig Status 
Datum: 12:45 Fr 31.10.2014
Autor: Marcel

Hallo,

> Hallo, danke für die Antwort.
>  p1,p2 und q haben brüche aber die zeigt der leider hier
> nicht an aber in Matlab funktioniert es.
>
> p1 = @(x) [mm]x-(x.^3\3)+(x.^5\5)-(x.^7\7)+(x.^9\9)[/mm]
>  
> p2 = @(x) [mm]pi\2-[(1\x)-(1\3*x.^2)+(1\5*x.^5)-(1\7*x.^7)][/mm]
>
> q = @(x) [mm](x\1)+(x.^2\3)+(4*x.^2\5)+(9*x.^2\7)+(16*x.^2\9)[/mm]
>  
> x=[0.0, 0.02,1.0,0.05,2.0]
>  
> bei p1 und p2 stimmt was nicht q funktioniert aber normal
> denke ich bei p1 zeigt der mir einen Fehler an bei p2
> kommen falsche werte raus
> kannst du mir da kurz weiter helfen?

definiere p wie folgt:

    
1: p1 = @(x) (x-x.^3/3+x.^5/5-x.^7/7+x.^9/9);
2: p2 = @(x) (pi/2-((1./x)-1/(3*x.^3)+1/(5*x.^5)-1/(7*x.^7)));
3: p = @(x) ( p1(x) .* and(abs(x)<=1) + p2(x) .* and(abs(x)> 1) );


Vielleicht zur Erklärung: Du kannst Dir

    and(abs(x) <= 1)

als Indikatorfunktion vorstellen:
Sie entspricht der Funktion
    
    [mm] $\mathds{1}_{[-1,1]}=\mathds{1}_{\{x \in \IR \mid \;|x| \le 1\}}\,.$ [/mm]

Dann gilt

    [mm] $p(x)=p_1(x)*\mathds{1}_{[-1,1]}+p_2(x)*\mathds{1}_{\IR \setminus [-1,1]}\,.$ [/mm]

(Hierbei wird aber der Hinweis, dass wir wie beim Horner-Schema klammern
sollen, noch nicht berücksichtigt!)

> Ich benutze Matlab. Und du hast recht ich hatte vorher noch
> kein Matlab, habe erst vor einer Woche damit angefangen.

Okay, daher die Schwierigkeiten - das sind aber *normale* Startschwierigkeiten.
Meist vermutet man auch, dass Aufgaben komplizierter sind, und wundert
sich am Ende, wie einfach sie dann doch waren...

P.S. Einfach nur "spaßeshalber" habe ich mal

    [p(1.3), atan(1.3)]

ausgeben lassen:

    0.92219   0.91510

und auch

    [p(0.3), atan(0.3)],

das liefert

    0.29146   0.29146

Tippt man aber

    format long

ein, so sieht man schon, dass es da Abweichungen gibt:

    0.291456944142857   0.291456794477867

P.S. Einen kleinen Haken gibt es oben noch: p(0) wird nicht funktionieren.
Eine Idee, wie man sich da behelfen kann? Hinweis:

    [mm] $\IR=\{0\} \cup \{x \in \IR:\;\; 0 < |x| \le 1\} \cup (\IR \setminus [-1,1])\,.$ [/mm]

Gruß,
  Marcel

Bezug
                                
Bezug
Funktionsberechnung: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 14:51 Fr 31.10.2014
Autor: capri

Hallo,

definiere p wie folgt:

    
1: p1 = @(x) (x-x.^3/3+x.^5/5-x.^7/7+x.^9/9);
2: p2 = @(x) (pi/2-((1./x)-1/(3*x.^3)+1/(5*x.^5)-1/(7*x.^7)));
3: p = @(x) ( p1(x) .* and(abs(x)<=1) + p2(x) .* and(abs(x)> 1) );

wenn ich das so mache und [p(1.3), atan(1.3)] eintippe kommt:

Error using  &
Not enough input arguments.

Error in @(x)(p1(x).*and(abs(x)<=1)+p2(x)>1))

ich komme mir irgendwie überfordert vor mit Matlab, obwohl es eigentlich letzte Woche noch gut war. -.-

LG


Bezug
                                        
Bezug
Funktionsberechnung: Antwort
Status: (Antwort) fertig Status 
Datum: 00:31 Sa 01.11.2014
Autor: Marcel

Hallo,

> Hallo,
>  
> definiere p wie folgt:
>  
>
> 1: p1 = @(x) (x-x.^3/3+x.^5/5-x.^7/7+x.^9/9);
>  2: p2 = @(x)
> (pi/2-((1./x)-1/(3*x.^3)+1/(5*x.^5)-1/(7*x.^7)));
>  3: p = @(x) ( p1(x) .* and(abs(x)<=1) + p2(x) .*
> and(abs(x)> 1) );
>  
> wenn ich das so mache und [p(1.3), atan(1.3)] eintippe
> kommt:
>  
> Error using  &
> Not enough input arguments.
>  
> Error in @(x)(p1(x).*and(abs(x)<=1)+p2(x)>1))

verstehe ich nicht. Ich habe das folgende Skript sowohl in einer alten
Matlab als auch in einer relativ aktuellen Octave-Version getestet:

    [a]Funktionenvergleich.m
  

> ich komme mir irgendwie überfordert vor mit Matlab, obwohl
> es eigentlich letzte Woche noch gut war. -.-

Teste das Skript mal.

Gruß,
  Marcel

Dateianhänge:
Anhang Nr. 1 (Typ: m) [nicht öffentlich]
Bezug
                                                
Bezug
Funktionsberechnung: Frage (reagiert)
Status: (Frage) reagiert/warte auf Reaktion Status 
Datum: 09:37 Sa 01.11.2014
Autor: capri

Guten morgen,

P.S. Einfach nur "spaßeshalber" habe ich mal

    [p(1.3), atan(1.3)]

ausgeben lassen:

    0.92219   0.91510

bei mir kommen die selben werte raus beim Skript wenn ich p2(1.3),atan(1.3) eintippe.

bei p(1.3) kommt immer noch:

Error using  &
Not enough input arguments.

Error in @(x)(p1(x).*and(abs(x)<=1)+p2(x)>1))

Ich benutze MatlabR2013b steht zumindestens bei mir.

LG

Bezug
                                                        
Bezug
Funktionsberechnung: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:11 Sa 01.11.2014
Autor: capri

Ich habe es nochmal ausprobiert und nachdem ich bei p die ands weggelassen habe, hat es funktioniert. :)

also bei mir ist p nun so definiert:

@(x)(p1(x).*(abs(x)<=1)+p2(x).*(abs(x)>1))

also nun habe ich, p, p1,p2,q und x.

nun soll ich ja die Werte ausgeben lassen als Tabelle oder?
ach genau wie klammere ich es denn wie im Horner-Schema?

LG


Ergänzung: Wenn ich nun:

p1 = @(x) (x-x.^3/3+x.^5/5-x.^7/7+x.^9/9);
p2 = @(x) (pi/2-((1./x)-1/(3*x.^3)+1/(5*x.^5)-1/(7*x.^7)));
p = @(x) (p1(x).*(abs(x)<=1)+p2(x).*(abs(x)> 1));
q = @(x) (x/1)+(x.^2/3)+(4*x.^2/5)+(9*x.^2/7)+(16*x.^2/9)

x=[0.0, 0.02,1.0,0.05,2.0]

bei p2(x) kommen die Werte:

0.6366    0.6166    4.6366    0.5870  758.6366

bei p(x) kommt ne Fehlermeldung:

Error using  -
Matrix dimensions must agree.

Error in @(x)(x-x.^3/3+x.^5/5-x.^7/7+x.^9/9)


Error in @(x)(p1(x).*(abs(x)<=1)+p2(x)>1))

bei p1(x):

Error using  -
Matrix dimensions must agree.

Error in @(x)(x-x.^3/3+x.^5/5-x.^7/7+x.^9-/9)

also bei p1, müsste ich glaube ich noch was ändern.

LG

Bezug
                                                                
Bezug
Funktionsberechnung: Antwort
Status: (Antwort) fertig Status 
Datum: 15:40 Sa 01.11.2014
Autor: Marcel

Hallo,

> Ich habe es nochmal ausprobiert und nachdem ich bei p die
> ands weggelassen habe, hat es funktioniert. :)

okay, das kann sein, dass da etwas aktualisiert worden ist.

> also bei mir ist p nun so definiert:
>  
> @(x)(p1(x).*(abs(x)<=1)+p2(x).*(abs(x)>1))
>  
> also nun habe ich, p, p1,p2,q und x.
>  
> nun soll ich ja die Werte ausgeben lassen als Tabelle
> oder?
>  ach genau wie klammere ich es denn wie im Horner-Schema?

Du kennst aber doch das Horner-Schema? Selbst, wenn nicht, dann such'
es einfach bei Wikipedia. Das muss man nur einmal an einem Beispiel
nachvollzogen haben, dann versteht man es schon... ^^
  

> LG
>  
> Ergänzung: Wenn ich nun:
>  
> p1 = @(x) (x-x.^3/3+x.^5/5-x.^7/7+x.^9/9);
>   p2 = @(x)
> (pi/2-((1./x)-1/(3*x.^3)+1/(5*x.^5)-1/(7*x.^7)));
>   p = @(x) (p1(x).*(abs(x)<=1)+p2(x).*(abs(x)> 1));

>  q = @(x) (x/1)+(x.^2/3)+(4*x.^2/5)+(9*x.^2/7)+(16*x.^2/9)
>  
> x=[0.0, 0.02,1.0,0.05,2.0]
>  
> bei p2(x) kommen die Werte:
>  
> 0.6366    0.6166    4.6366    0.5870  758.6366
>  
> bei p(x) kommt ne Fehlermeldung:
>  
> Error using  -
> Matrix dimensions must agree.
>  
> Error in @(x)(x-x.^3/3+x.^5/5-x.^7/7+x.^9/9)
>  
>
> Error in @(x)(p1(x).*(abs(x)<=1)+p2(x)>1))
>  
> bei p1(x):
>  
> Error using  -
> Matrix dimensions must agree.
>  
> Error in @(x)(x-x.^3/3+x.^5/5-x.^7/7+x.^9-/9)
>  
> also bei p1, müsste ich glaube ich noch was ändern.

Das weiß ich noch nicht. Aber ich habe Dir schonmal gesagt, dass ich nur

    [mm] $\IR=[-1,1] \stackrel{d}{\cup} (\IR \setminus [/mm] [-1,1])$

benutzt habe [mm] ($\stackrel{d}{\cup}$: [/mm] "disjunkte Vereinigung"! ).

Bei p1 steht noch das x im Nenner, daher wäre es sinnvoller

    [mm] $\IR=\{0\}\stackrel{d}{\cup}([-1,1] \setminus \{0\}) \stackrel{d}{\cup} (\IR \setminus [/mm] [-1,1])$  

zu benutzen. Auch, wenn das nur eine kleine Modifizierung ist. Eventuell
wird sie genau den Fehler entfernen, denn durch Null teilen wollen wir nicht!

Aber irgendwie passt das nicht, denn leider rechnet Matlab

    NaN*0=NaN.

Besser, wir machen es so:
1: p1 = @(x) (x-x.^3/3+x.^5/5-x.^7/7+x.^9/9);
2: p2 = @(x) (pi/2 .* ones(1,length(x)).-((1./x)-1./(3*x.^3)+1./(5*x.^5)-1./(7.*x.^7)));
3:
4: p = @(x) ( p1(x) .* (abs(x)<=1) .+ ...
5:            p2(x) .* (abs(x) > 1));
6: x0 = 1.3;
7: fprintf(['\nAusgabe p und atan von ',num2str(x0),': \n', ...
8:           num2str([p(x0), atan(x0)]),'\n']);


Ich hatte vorher vor den / keinen Punkt, daher die Fehlermeldung, wenn
x ein Vektor ist. Wenn Du das abspeicherst, es laufen läßt, und danach
etwa

    p([1,0,2.2,0.3])

eingibst, dann siehst Du

    0.83492       NaN   1.14425   0.29146
  
Das heißt, für uns ist einfach NaN nichts anderes als 0. Kann man sicher
eleganter beheben, aber mit diesen "@(x)-Funktionen" kenne ich mich nicht
so gut aus. Wir haben aber eh nur das "Nulldivisions-Problem", weil wir in
p2 durch 0 teilen könnten, von daher ist das hier nicht so tragisch.

Gruß,
  Marcel

Bezug
                                                        
Bezug
Funktionsberechnung: Antwort
Status: (Antwort) fertig Status 
Datum: 14:34 Sa 01.11.2014
Autor: Marcel

Hallo,

> Guten morgen,
>  
> P.S. Einfach nur "spaßeshalber" habe ich mal
>  
> [p(1.3), atan(1.3)]
>  
> ausgeben lassen:
>  
> 0.92219   0.91510
>
> bei mir kommen die selben werte raus beim Skript wenn ich
> p2(1.3),atan(1.3) eintippe.
>  
> bei p(1.3) kommt immer noch:
>  
> Error using  &
> Not enough input arguments.
>  
> Error in @(x)(p1(x).*and(abs(x)<=1)+p2(x)>1))
>  
> Ich benutze MatlabR2013b steht zumindestens bei mir.

das kann ich erst nächste Woche mit dieser Matlab-Version testen. Probier's
doch bis dahin mal in Octave? (Würde ich eh empfehlen, solange Du es *nur*
für's Studium braucht, wird Octave sicher ausreichen - bis auf eventuelle
kleine Ausnahmen).

Ansonsten kannst Du höchstens mal gucken, ob sich vielleicht der ein
oder andere Befehl geändert hat.

Gruß,
  Marcel

Bezug
                                                                
Bezug
Funktionsberechnung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:40 Sa 01.11.2014
Autor: capri

Hallo,
ja ich wollte octave runterladen, aber mittlerweile findet man das nicht mehr online. ( keine Ahnung wieso ) Zu mindestens ich habe es nicht gefunden.

Bei meiner anderen Frage steht seit ca. einer Stunde wird bearbeitet?
Ist es nun ein Fehler oder wurde es nur vergessen?

LG


Bezug
                                                                        
Bezug
Funktionsberechnung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:43 Sa 01.11.2014
Autor: Marcel

Hi,

> Hallo,
>  ja ich wollte octave runterladen, aber mittlerweile findet
> man das nicht mehr online. ( keine Ahnung wieso ) Zu
> mindestens ich habe es nicht gefunden.

    []https://www.gnu.org/software/octave/download.html

    []http://octave.sourceforge.net/

Hast Du Windows? Oder ein anderes BS?

> Bei meiner anderen Frage steht seit ca. einer Stunde wird
> bearbeitet?
>  Ist es nun ein Fehler oder wurde es nur vergessen?

Ne, ich habe das Zeugs nur nebenher getestet (mit Unterbrechungen). ;-)

Gruß,
  Marcel

Bezug
                                                                                
Bezug
Funktionsberechnung: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 17:25 So 02.11.2014
Autor: capri

Hallo,

ich kann zwar vom Link octave downloaden aber es nicht installieren.

Und dein code klappt wieder bei matlab nicht -.-

bei dem p2 zeigt der mir nun:

Error: Unexpected MATLAB operator.

p2 = @(x) (pi/2 .* ones(1,length(x)).-((1./x)-1./(3*x.^3)+1./(5*x.^5)-1./(7.*x.^7)));


LG

Bezug
                                                                                        
Bezug
Funktionsberechnung: Antwort
Status: (Antwort) fertig Status 
Datum: 17:51 So 02.11.2014
Autor: Marcel

Hi,

> Hallo,
>  
> ich kann zwar vom Link octave downloaden aber es nicht
> installieren.

welches Betriebssystem? Und bei Windows kann es sein, dass Du
zwischen 32 und 64 Bit unterscheiden musst.

Im schlimmsten Falle kannst Du auch

    cygwin

downloaden, und dann musst Du ein wenig drauf achten, dass Du Octave
(nach-)installierst.

> Und dein code klappt wieder bei matlab nicht -.-
>  
> bei dem p2 zeigt der mir nun:
>
> Error: Unexpected MATLAB operator.
>  
> p2 = @(x) (pi/2 .*
> ones(1,length(x)).-((1./x)-1./(3*x.^3)+1./(5*x.^5)-1./(7.*x.^7)));

Wie gesagt: Mit Matlab kann ich das erst ab morgen testen!

Gruß,
  Marcel

Bezug
                                                                                                
Bezug
Funktionsberechnung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:59 So 02.11.2014
Autor: capri

Ich habe 64Bit.. ja ok dann warte ich mal vllt. fällt mir ja noch was ein.

Danke

Bezug
                                                                                        
Bezug
Funktionsberechnung: Antwort
Status: (Antwort) fertig Status 
Datum: 18:44 So 02.11.2014
Autor: DieAcht

Hallo capri,


Ich habe hier nicht alles durchgelesen, aber mit

1: p1 = @(x) (x-x.^3/3+x.^5/5-x.^7/7+x.^9/9);
2: p2 = @(x) (pi/2 .* ones(1,length(x))-((1./x)-1./(3*x.^3)+1./(5*x.^5)-1./(7.*x.^7)));
3:
4: p = @(x) ( p1(x) .* (abs(x)<=1) + ...
5: p2(x) .* (abs(x) > 1));
6: x0 = 1.3;
7: fprintf(['\nAusgabe p und atan von ',num2str(x0),': \n', ...
8: num2str([p(x0), atan(x0)]),'\n']);


(Beachte: Ich habe vor der Subtraktion (Zeile 2) und vor der
Addition (Zeile 4) den Punkt entfernt.)

komme ich auf

1: Ausgabe p und atan von 1.3: 
2: 0.92219      0.9151


Das passt also.

Edit: Auch wenn ich die Datei nicht wirklich selbst erstellt
habe lade ich sie mal hoch. Ich hoffe, dass das für Marcel
in Ordnung ist. Hier: [a]Marcel.m


Gruß
DieAcht

Dateianhänge:
Anhang Nr. 1 (Typ: m) [nicht öffentlich]
Bezug
                                                                                                
Bezug
Funktionsberechnung: Selbstverständlich
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:53 So 02.11.2014
Autor: Marcel

...


> Edit: Auch wenn ich die Datei nicht wirklich selbst
> erstellt
>  habe lade ich sie mal hoch. Ich hoffe, dass das für
> Marcel
>  in Ordnung ist. Hier: [a]Marcel.m

geht das klar. Ich brauche auch einen Code, der nur aus - keine Ahnung: 10
- (nicht genialen) Zeilen besteht, sicher nicht urheberrechtlich zu schützen. ;-)

Gruß,
  marcel

Bezug
                                                                                                
Bezug
Funktionsberechnung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 19:02 So 02.11.2014
Autor: capri

Ja Danke es hat zwar funktioniert, also die Werte kommen raus, aber dennoch zeigt es ne Fehlermeldung:

[Dateianhang nicht öffentlich]


Dateianhänge:
Anhang Nr. 1 (Typ: png) [nicht öffentlich]
Bezug
                                                                                                        
Bezug
Funktionsberechnung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 19:06 So 02.11.2014
Autor: DieAcht

Du hast vor dem Minus- bzw. Pluszeichen die Punkte nicht entfernt.

Bezug
                                                                                                        
Bezug
Funktionsberechnung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 19:09 So 02.11.2014
Autor: DieAcht

Tut mir leid. Ich habe den alten Code hochgeladen, aber in meiner
Antwort ist der Code richtig. Hier nochmal:

[a]Marcel.m

1: p1 = @(x) (x-x.^3/3+x.^5/5-x.^7/7+x.^9/9);
2: p2 = @(x) (pi/2-((1./x)-1/(3*x.^3)+1/(5*x.^5)-1/(7*x.^7)));
3: p = @(x) ( p1(x) .* and(abs(x)<=1) + p2(x) .* and(abs(x)> 1) );
4: x0 = 1.3;
5: fprintf(['\nAusgabe p und atan von ',num2str(x0),': \n', ...
6:           num2str([p(x0), atan(x0)]),'\n']);


Dateianhänge:
Anhang Nr. 1 (Typ: m) [nicht öffentlich]
Bezug
                                                                                                                
Bezug
Funktionsberechnung: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 19:14 So 02.11.2014
Autor: capri

Hallo,
perfekt danke :)

hat endlich geklappt :)

eine Frage habe ich noch :)

wie kann ich es nun als eine Tabelle erstellen,

also p,p-atan,q,q-atan?

LG

Bezug
                                                                                                                        
Bezug
Funktionsberechnung: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 18:13 Mo 03.11.2014
Autor: capri

Hallo,
kann mir jmd helfen wie ich aus meinem q einen Kettenbruch machen kann?


LG

Bezug
                                                                                                                                
Bezug
Funktionsberechnung: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:20 Mi 05.11.2014
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
                                                                                                                        
Bezug
Funktionsberechnung: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 19:20 Di 04.11.2014
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheforum.net
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]