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

x = tan(3) 3 =/ atan(x)

 

Tesla1993
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 11.08.14
Wohnort: ---
Version: Student Version MATLAB R2013a
     Beitrag Verfasst am: 11.08.2014, 06:37     Titel: x = tan(3) 3 =/ atan(x)
  Antworten mit Zitat      
Hallo,

Leider komme ich nicht auf einen grünen Zweig mit meinem Ergebniss.
Bin leider noch komplett neu in Matlab und kann mir eigentlich nur vorstellen, das der Fehler nur durch ein Def. Lücke entsteht?!

folgender Code spuckt mir immer wieder ein falsches Ergebniss aus.

Code:
% Auf der suche nach dem richtigen Wert für den atan.
x = tan(3) % a=3
a = atan (x)


Falls es bereits einen Post dazu gab, bitte ich um Entschuldigung.


Mit freundlichen Grüßen und schonmal im vorraus vielen vielen Dank

Franz
_________________

“If your hate could be turned into electricity, it would light up the whole world.”
― Nikola Tesla
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.08.2014, 08:36     Titel:
  Antworten mit Zitat      
Hallo,

Das Ergebnis ist korrekt, da
Code:

wieder x liefert.

atan ist nur auf dem Intervall [-pi/2, pi/2] umkehrbar, und nur auf diesem Intervall kannst du erwarten, dass atan(tan(x)) wieder x liefert. Das ist eher ein mathematisches "Problem" als eines von MATLAB.

Was ist denn die tatsächliche Anwendung, in der das Problem auftritt?
In vielen Fällen kann es helfen,
Code:

statt
Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Tesla1993
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 11.08.14
Wohnort: ---
Version: Student Version MATLAB R2013a
     Beitrag Verfasst am: 11.08.2014, 10:52     Titel:
  Antworten mit Zitat      
Hallo Harald,

erstmal danke für die zügige Antwort.
Ich habe die Ideale Lösung auch direkt gefunden nach der ich gesucht hab! VIELEN DANK!

Code:
%Fallunterscheidung.
% arg(z)= phi = -> arctan(y/x), falls x > 0
% arg(z)= phi = -> pi + arctan(y/x), falls x < 0
% arg(z)= phi = -> pi/2
% arg(z)= phi = -> -pi/2

x = 3
a = tan(3)
x = atan(a) + pi
 


Hier die Lösung falls mal wieder jemand danach googlet
_________________

“If your hate could be turned into electricity, it would light up the whole world.”
― Nikola Tesla
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 - 2024 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.