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

keine negative Werte in der Matrix

 

ulTIMO
Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 16.05.11
Wohnort: Seelscheid
Version: R2008B
     Beitrag Verfasst am: 16.05.2011, 12:35     Titel: keine negative Werte in der Matrix
  Antworten mit Zitat      
Hi

Nach einer Subtraktion 2er Matrizen hab ich komischer weise keine negativen Werte in der Ergebnismatrix.

Code:

dif_1(x,y,:)=org_p1-bearb_p1
 


von der Dimension ist alles in ordnung. Nur müssten negative Werte in der Matrix stehen. Auch wenn ich anders rum rechne müssen negative werte auftreten.

Danke in Vorraus
ulTIMO
Private Nachricht senden Benutzer-Profile anzeigen


eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 16.05.2011, 12:49     Titel:
  Antworten mit Zitat      
Welcher Datentyp hat die Matrix? Es gibt unsigned Datentypen die keine negativen Werte ermöglichen.
Private Nachricht senden Benutzer-Profile anzeigen
 
ulTIMO
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 16.05.11
Wohnort: Seelscheid
Version: R2008B
     Beitrag Verfasst am: 16.05.2011, 13:02     Titel:
  Antworten mit Zitat      
im workspace steht uint8 hinter der matrix. wenn das unsigned ist frag ich mich wie ich das ändern kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 16.05.2011, 13:19     Titel:
  Antworten mit Zitat      
double(org_p1) wenn du keine Probleme mit der zusätzlichen Speicherbelegung (Faktor 8!) hast.
Private Nachricht senden Benutzer-Profile anzeigen
 
lilov
Forum-Century

Forum-Century


Beiträge: 193
Anmeldedatum: 05.05.10
Wohnort: Bremerhaven
Version: ---
     Beitrag Verfasst am: 16.05.2011, 13:24     Titel:
  Antworten mit Zitat      
Hi,

bevor du die Substraktion der beiden Matrizen durchführst mach folgendes:

Code:


Gruß,

lilov
Private Nachricht senden Benutzer-Profile anzeigen
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 16.05.2011, 13:45     Titel:
  Antworten mit Zitat      
lilov hat Folgendes geschrieben:
Hi,

bevor du die Substraktion der beiden Matrizen durchführst mach folgendes:

Code:


Gruß,

lilov



Dann musst du aber aufpassen, weil der maximale Wert für int8 ist 127, während er 255 für uint8 ist!
Private Nachricht senden Benutzer-Profile anzeigen
 
ulTIMO
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 16.05.11
Wohnort: Seelscheid
Version: R2008B
     Beitrag Verfasst am: 16.05.2011, 13:46     Titel:
  Antworten mit Zitat      
Danke klappt!!

Mit ein bisschen überlegen hätte ich eigentlich auch selber drauf kommen können.

klappt mit beiden aber ich glaube mit double hab ich den größeren wertebereich. Brauch nämlich von -255 bis +255.
Private Nachricht senden Benutzer-Profile anzeigen
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 16.05.2011, 14:30     Titel:
  Antworten mit Zitat      
Wenn du nur Ganzzahlen hast und deine Matrizen groß sind kannst du auch int16 nehmen.
Private Nachricht senden Benutzer-Profile anzeigen
 
ulTIMO
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 16.05.11
Wohnort: Seelscheid
Version: R2008B
     Beitrag Verfasst am: 16.05.2011, 14:45     Titel:
  Antworten mit Zitat      
mit int16 ahb ich doch einen Bereich von 32tausend irgendwas positiv und negativ, oder? ware ein bisschen zu viel für meine Zwecke. ich begnüge mich mit double.

Danke nochmals
Private Nachricht senden Benutzer-Profile anzeigen
 
lilov
Forum-Century

Forum-Century


Beiträge: 193
Anmeldedatum: 05.05.10
Wohnort: Bremerhaven
Version: ---
     Beitrag Verfasst am: 16.05.2011, 15:08     Titel:
  Antworten mit Zitat      
doble hat ein noch größerer range und nimmt mehr Speicherplatz!


Code:

A =rand(100);
B = int16(A);
whos
 


gruß,

lilov
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.