|
|
Matlab, Rundungen, Unterschied: Windows Linux? |
|
torsten23 |

Forum-Anfänger
|
 |
Beiträge: 42
|
 |
|
 |
Anmeldedatum: 21.11.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.07.2010, 18:00
Titel: Matlab, Rundungen, Unterschied: Windows Linux?
|
 |
Hallo,
irgendwie bin ich gerade auf etwas gestoßen, was ich mir nicht so recht erklären kann...
ich führe unter Windows 7.8.0 64bit ein bestimmtes Programm aus
unter unter Linux auch 64bit
und zwar geht es um
http://www.mathworks.de/matlabcentr.....cipial-component-analysis
eine PCA auf einen Datensatz mit der Größe: 15786 140
Wenn ich nun unter Unix folgendes ausrechne...
X=rohdatensatz;
pc13=pcafunc(X,13);
ergibt dann
sum(sum(pcafunc(X,13)-pc13)))
=0
save('pc13.mat','pc13')
wenn ich allerdings pc13.mat und rohdatensatz auf einen andern PC in diesem Fall Windows kopiere komme ich bei
sum(sum(pcafunc(X,13)-pc13)))
auf Werte in der Größenordnung
1.28
Warum kommt da nicht auf beiden PC "0" raus? Rundungen?
Weitere vielleicht interessante Zahlenwerte sind vielleicht:
>> min(min(pcafunc(X,13)-pc13))
-0.2441
>> max(max(pcafunc(X,13)-pc13))
0.3246
|
|
|
|
|
torsten23 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 42
|
 |
|
 |
Anmeldedatum: 21.11.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.07.2010, 18:30
Titel:
|
 |
eps, realmin, realmax sind auch gleich groß..
>> eps
ans =
2.2204e-16
>> realmin
ans =
2.2251e-308
>> realmax
ans =
1.7977e+308
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 18.07.2010, 19:23
Titel:
|
 |
Hallo,
kannst du da ein reproduzierbares Beispiel geben?
Ansonsten:
was ist max(pc13(:)) bzw. max(pcafunc(X,13))? Wenn das sehr groß sein sollte, dann kann auch 1 ein ganz normaler Rundungsfehler sein - vor allem, wenn die sich vielleicht noch akkumulieren. Sollte man also immer in Relation zu den Größen sehen.
Dass überhaupt unterschiedliche Ergebnisse herauskommen (wenn wirklich *genau* dasselbe gemacht wurde), erklärt sich wohl dadurch, dass im Hintergrund BLAS-Routinen ausgeführt werden und die von System zu System unterschiedlich implementiert sind.
Grüße,
Harald
|
|
|
torsten23 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 42
|
 |
|
 |
Anmeldedatum: 21.11.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.07.2010, 19:49
Titel:
|
 |
hm,
>> max(max(pcafunc(rawmul.X,11)) ist
1.0883e+03
würde noch nicht sagen, dass das recht groß wäre?
ja ich denke dass ich überall das gleiche mache... hab die Dateien von Linux auf Windows kopiert und nochmal ausgeführt...
ich hab durch = 0 praktisch unter Linux festgestellt, dass in der Datei wirklich dass richtig Ergebnis von pcafunc .... drinsteht...
auf dem andern PC scheint das Ergebnis von pcafunc allerdings anders zu sein?
Torsten
Beschreibung: |
|
 Download |
Dateiname: |
pcafunc.m |
Dateigröße: |
865 Bytes |
Heruntergeladen: |
374 mal |
Beschreibung: |
|
 Download |
Dateiname: |
rawdata.zip |
Dateigröße: |
3.61 MB |
Heruntergeladen: |
388 mal |
|
|
|
|
|
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 - 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.
|
|