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

"eps" funktioniert nicht

 

beginer

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.08.2014, 21:54     Titel: "eps" funktioniert nicht
  Antworten mit Zitat      
Hi,

warum funktioniert das nicht?

Code:
m= 5+[1:1:12]*eps;


Eigentlich müsste der erste Eintrag kleiner sein als der zweite. Das ist aber leider nicht der Fall. Jemand eine Idee?

-beginer-


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 08.08.2014, 23:06     Titel:
  Antworten mit Zitat      
Hallo,

ist doch auch kein Wunder.
Wenn 1 und 1+eps gerade noch unterschieden werden können, dann eben 5 und 5+eps = 5*(1+eps/5) eben nicht mehr.

Du kannst höchstens eps(5) statt eps verwenden.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2014, 10:29     Titel:
  Antworten mit Zitat      
Hmmm... im Endeffekt will ich erreichen, dass ich einen Vektor mit leicht steigenden Werten erhalte. Ist eps dann garnicht geeignet dafür?

Code:
m= [5+eps   5+2*eps   5+3*eps   5+4*eps ....]


-beginer-
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.08.2014, 10:47     Titel:
  Antworten mit Zitat      
Hallo,

doch, natürlich. Du musst die Unterschiede aber eben groß genug machen, und bei Gleitkommaarithmetik ist die Auflösung etwa proportional zu der Größe an sich.

Code:
m= 5+[1:1:12]*eps;
diff(m)
m2= 5+[1:1:12]*eps(5);
diff(m2)


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 10.08.2014, 12:57     Titel:
  Antworten mit Zitat      
Hallo beginer,

Das würde funktionieren:
Code:
x = 6:17;
y = x + eps(x);

Das ist aber sinnfrei, denn es funktioniert nur, wenn die Werte sowieso unterschiedlich sind. Du bräuchtest aber etwas, so weit ich es verstehe, dass auch für z.B. [1,1,2,2,3,3,3] unterschiedliche Werte erzeugt.

Eine schöne und effiziente Läösung findest Du hier: http://www.mathworks.com/matlabcent.....leexchange/16098-uniquify
Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
beginer

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.08.2014, 19:00     Titel:
  Antworten mit Zitat      
Zum Teil hast du recht, Jan Smile
Ich bin immer noch nicht auf die richtige Lösung gekommen. Steh etwas aufm Schlauch.
Ich hab nämlich ide Matrix M gegeben:

Code:
m= 50   50   50   50   50   50   50   50   50   50   50   50   150   150   150   150   150   150   150   150   150   150   150   150   30   30   30   30   30   30   30   30   30   30   30   30


Und möchte die absteigende "eps-Komponente" folgendermaßen mit einbringen:
Code:

m_neu= 50*12eps   50*11eps   50*10eps   50*9eps   50*8eps   50*7eps   50*6eps   50*5eps   50*4eps   50*3eps   50*2eps   50*1eps   150*12eps   150*11eps   150*10eps   150*9eps   150*8eps   150*7eps   150*6eps   150*5eps   150*4eps   150*3eps   150*2eps   150*1eps   30*12eps   30*11eps   30*10eps   30*9eps   30*8eps   30*7eps   30*6eps   30*5eps   30*4eps   30*3eps   30*2eps   30*1eps


Habt ihr beide da eine Idee?

-beginer_
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.08.2014, 22:17     Titel:
  Antworten mit Zitat      
Hallo,

erstelle die Vektoren wie von mir für 5 vorgeschlagen jeweils für 50, 150 und 30 und füge diese zusammen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 17.08.2014, 17:50     Titel:
  Antworten mit Zitat      
Hallo beginer,

Was genau heißt "50*12eps" ?
Bedenke, dass 50+12*eps genau den gleichen Wert hat wie 50, da die 12*eps hier intern wegfallen.

Hast Du das Tool probiert, dass ich Dir genannt habe?

Gruß, Jan
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.