|
|
Speicherproblem bei großer Matrix |
|
die_maus |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.11.2007, 14:01
Titel: Speicherproblem bei großer Matrix
|
|
Hallo Matlaber,
ich schreibe in eine Matrix (5 Spalten) alle möglichen Kombinationen von 5 Parametern, die jeweils 9 Werte (0.1, 0.2,... 0.9) annehmen können; die Matrix bekommt also 9^5 = 59049 Zeilen. Wenn ich dann allerdings nach bestimmten Werten suche, z.B.
findet er einen bestimmten Wert (nämlich falls ich festlege dass lambda oder delta oder kappa oder h = 0.7) nirgends mehr (Antwort: "empty matrix"), obwohl diese werte natürlich in der matrix stehen (und per hand-nachkucken auch zu finden sind!).
anscheinend handelt es sich um ein speicherproblem, denn vorerst habe ich das problem dadurch geflickt dass ich die matrix-einträge als single speichere (und damit nur noch halb soviel speicher brauche); aber das ist natürlich keine dauerhafte lösung.
kann mir jmd. erklären, was genau das problem dahinter ist, und wie ich es langfristig (für beliebig große matrizen?) lösen kann??
|
|
|
|
|
Titus |
Forum-Meister
|
|
Beiträge: 871
|
|
|
|
Anmeldedatum: 19.07.07
|
|
|
|
Wohnort: Aachen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.11.2007, 15:12
Titel:
|
|
Hallo,
ich bin nicht sicher, ob der Speicher das Problem ist. Auch wenn es kein schöner MATLAB-Stil ist, probiere mal
Allerdings folgender Code sollte ein Ergebnis liefern:
Der Grund ist, dass 0.1 im Dualsystem eine periodische Zahl ist. Daher immer, wenn es sich nicht gerade um ganze Zahlen handelt, Fließkommazahlen nicht mit == vergleichen!
Titus
|
|
|
die_maus |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.11.2007, 10:02
Titel: rückfrage
|
|
hey titus,
vielen dank, damit versteh ich einige seltsame dinge schon besser!
wie aber soll ich dann fließkommazahlen vergleichen?
den befehl ISEQUAL habe ich gerade probiert, der liefert aber das gleiche problem wie ==
hat jemand ne ahnung?? danke!!!
|
|
|
die_maus |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.11.2007, 10:49
Titel: hat etwas länger gebraucht ;-)
|
|
hey titus nochmal,
mensch ich hätte deinen zweiten code-abschnitt nochmal ordentlicher anschaun sollen - das ist ja die lösung! ich muss also einfach suchen wo die differenz kleiner als die zahl-genauigkeit ist - aaaha! sorry, ich stand wohl etwas auf der leitung..!
danke, das sollte mein problem lösen!!!
viele grüße,
die_maus
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 30.11.2007, 11:12
Titel:
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|