WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Näherungen vergleichen

 

Pons
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 31.10.14
Wohnort: NRW
Version: ---
     Beitrag Verfasst am: 31.10.2014, 10:26     Titel: Näherungen vergleichen
  Antworten mit Zitat      
Hallo, vorab mit dem Formeleditor habe ich es zwar gemacht aber irgendwie zeigt der mir das nicht an :S
Aufjedenfall habe ich eine Aufgabe mit der ich nicht zurecht komme.
Es wäre sehr nett wenn ich einen Ansatz bekommen könnte, wie ich es in Matlab programmieren kann.

Die folgenden Funktionen p,q, sind Näherungen für Arcustangens:
(a) Partialsumme der Potenzreihe
[math] p(x) = x-\frac{x^3}{3}+\frac{x^5}{5}-\frac{x^7}{7}+\frac{x^9}{9} für |x| \leq 1 [\math]

bzw.

[math] p(x) = \frac{\pi}{2}-[\frac{1}{x}-\frac{1}{3x^2}+\frac{1}{5x^5}-\frac{1}{7x^7}] für x > 1 [\math]


(b) Anfangsstück der Kettenbruchentwicklung:

[math] q(x) = \frac{x}{1+}\frac{x^2}{3+}\frac{4x^2}{5+}\frac{9x^2}{7+}\frac{16x^2}{9+} [\math]

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 p(x)-arctan(x) q(x) q(x)-arctan(x)

Hinweis zu a), b):

Klammern Sie die Terme wie beim Horner-Schema.


Ich hoffe jemand kann mir hier weiterhelfen.

LG
Private Nachricht senden Benutzer-Profile anzeigen


Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 31.10.2014, 12:55     Titel: Re: Näherungen vergleichen
  Antworten mit Zitat      
Hallo Pons,

Woran genau scheitert es denn? Die Formeln in Matlab-Code zu übertragen?

Hier mal die erste als Beispiel:
Code:
x = -10:1;
p = x - x.^3 .* 1/3 + x.^5 .* 0.2 - x.^7 .* 1/7 + x.^9 + 1/9;


Oder als anonyme Funktion:
Code:
p = @(x) x - x.^3 .* 1/3 + x.^5 .* 0.2 - x.^7 .* 1/7 + x.^9 + 1/9;
x = -10:1;
y = p(x);



Pons hat Folgendes geschrieben:
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 p(x)-arctan(x) q(x) q(x)-arctan(x)

Question

Grüße,
Seban
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
Pons
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 31.10.14
Wohnort: NRW
Version: ---
     Beitrag Verfasst am: 02.11.2014, 13:57     Titel:
  Antworten mit Zitat      
Hallo, tut mir leid, dass ich erst jetzt antworte.

Code:
p1 = @(x) (x-x.^3/3+x.^5/5-x.^7/7+x.^9/9);
   p2 = @(x) (pi/2-((1/x)-1/(3*x.^2)+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];
 


wenn ich nun p(x) ausgeben lasse kommt eine fehlermeldung undzwar:
Code:

Error using  /
Matrix dimensions must agree.

Error in @(x)(pi/2-((1/x)-1/(3*x.^2)+1/(5*x.^5)-1/(7*x.^7)))
 


könntest dumirda evtl weiterhelfen?

LG
Private Nachricht senden Benutzer-Profile anzeigen
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 02.11.2014, 17:49     Titel:
  Antworten mit Zitat      
Hi,

Du musst zw. Rechenoperationen von Matrizen/Vektoren und elementweisen Berechnungen unterscheiden.
http://www.mathworks.de/help/matlab.....vs-matrix-operations.html

Die Fehlermeldung weist freundlicherweise auf das "/" hin:
Code:
p2 = @(x) (pi/2-((1./x)-1./(3*x.^2)+1./(5*x.^5)-1./(7*x.^7)));


Ich glaube, mit "... indem Sie für x = 0.0(0.02)1.0(0.05)2.0 berechnen ..." ist dies gemeint:
Code:
x=[0:0.02:1, 1.05:0.05:2];


Grüße,
Seban
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
Pons
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 31.10.14
Wohnort: NRW
Version: ---
     Beitrag Verfasst am: 02.11.2014, 19:08     Titel:
  Antworten mit Zitat      
Ok danke. Aber nun habe ich mal noch eine Frage wenn ich p2(x) aufrufe kommt:

Code:
1.0e+11 *

  Columns 1 through 10

       NaN    1.1154    0.0087    0.0005


warum steht da erstmal 1.0e+11 *? oder hab ich p2(x) falsch programmiert?

p2 = \frac{\pi}{2} - \left[\frac{1}{x}- \frac{1}{3x^{2}}+ \frac{1}{5x^{5}}-\frac{1}{7x^{7}}     \right] fuer x > 1


bei p1(x) fängt der direkt an damit ohne was vorher zu multiplizieren.

LG
Private Nachricht senden Benutzer-Profile anzeigen
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 02.11.2014, 19:27     Titel:
  Antworten mit Zitat      
Das heißt einfach, dass jeder Wert in der Matrix y=p2(x) mit dem Faktor 1.0e+11 multipliziert wird. 1.0e+11 ist gleich 1.0*10^11

Code:
1.0e+11 *

  Columns 1 through 10

       NaN    1.1154    0.0087    0.0005

entspricht also
Code:
 Columns 1 through 10

       NaN    111540000000    870000000    50000000

Hoffe, ich hab mich bei den Vorkommastellen jetzt nicht verzählt Very Happy

(Stichworte Dezimale Gleitkommazahl und scientific notation)

Edit: Mit
Code:
kann man die Anzeige der Zahlenwerte anpassen.

Grüße,
Seban
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
Pons
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 31.10.14
Wohnort: NRW
Version: ---
     Beitrag Verfasst am: 02.11.2014, 19:42     Titel:
  Antworten mit Zitat      
ok vielen dank.

Und noch jetzt eine kurze Frage.
ich habe nun:

Code:
p1 = @(x) (x-x.^3/3+x.^5/5-x.^7/7+x.^9/9);
p2 = @(x) (pi/2-((1./x)-1./(3*x.^2)+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.02:1, 1.05:0.05:2];
 


kann ich jetzt eine Tabelle in Matlab erstellen, wo

x p(x)-atan(x) q(x) q(x)-atan(x) steht?
Private Nachricht senden Benutzer-Profile anzeigen
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 02.11.2014, 19:53     Titel:
  Antworten mit Zitat      
Gern geschehen.

Die Suchmaschine deiner Wahl kann dir ein treuer Begleiter sein:
'Matlab Tabelle', erster Treffer: http://www.mathworks.de/help/matlab/ref/table.html Wink

Grüße
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
Pons
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 31.10.14
Wohnort: NRW
Version: ---
     Beitrag Verfasst am: 03.11.2014, 14:41     Titel:
  Antworten mit Zitat      
Hallo,
eine bitte hätte ich noch. Mein q soll als Kettenbruch dargestellt werden. Und wie klammere ich es wie beim horner-schema aus. Das steht ja als Hinweis da.


LG
Private Nachricht senden Benutzer-Profile anzeigen
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 04.11.2014, 01:17     Titel:
  Antworten mit Zitat      
q(x) = \frac{x}{1} + \frac{x^2}{3} + \frac{4x^2}{5} + \frac{9x^2}{7} + \frac{16x^2}{9}

Horner:
https://de.wikipedia.org/wiki/Horner-Schema#Definition
https://de.wikipedia.org/wiki/Horner-Schema#Beispiel
q(x) = x(1+x(\frac{1}{3}+\frac{4}{5}+\frac{9}{7}+\frac{16}{9}))

Kettenbruch:
https://de.wikipedia.org/wiki/Kette.....r_euklidische_Algorithmus
\frac{1}{3}+\frac{4}{5}+\frac{9}{7}+\frac{16}{9} = ... = \frac{1322}{315} = 4+\frac{62}{315} = 4+\frac{1}{\frac{315}{62}} = 4+\frac{1}{5+\frac{5}{62}}

Lass mich bitte wissen, ob ich deine Hausaufgaben korrekt gelöst habe Razz

Grüße,
Seban
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
Pons
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 31.10.14
Wohnort: NRW
Version: ---
     Beitrag Verfasst am: 04.11.2014, 13:48     Titel:
  Antworten mit Zitat      
Very Happy

Hallo seban, danke Smile

ich hoffe es ist richtig Smile ja muss mal heute abend es ausprobieren.

LG
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.