|
|
Matrizen Berechnungen - ich finde den fehler nicht |
|
wolfomat |

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 05.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.06.2011, 16:42
Titel: Matrizen Berechnungen - ich finde den fehler nicht
|
 |
zum problem:
Zitat: |
??? Error using ==> mtimes
MTIMES is not fully supported for integer classes. At least one
input must be scalar.
Error in ==> A7 at 23
I1neu(M, N, z) = ( I1(M, N, z) - gmini1 ) * ( ( wmax -
wmin ) / ( gmaxi1 - gmini1 ) ) + wmin;
|
hab auch schon gesucht und gegoogelt, aber nix dazu gefunden, bzw. ich verstehe die erläuterungen nicht.
Hier ist der Code:
wichtig: ich will das mal so probieren, ich weiß es gibt dank der imagetoolbox genug funktionen die sicher das machen was ich da oben versuche, aber ich will das ganze schon verstehen.
Wenn ich das ganze in die Matlab Kommandozeile eingebe und berechnen lasse (mit einem einzelnen wert und die daten (wmax,wmin, gmin,gmax) selbst eingetragen) dann berechnet der auch neue werte.
was mach ich falsch? [/code]
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 05.06.2011, 18:13
Titel:
|
 |
Hallo,
die Fehlermeldung deutet das ja schon an: mtimes (*) ist für Integerarrays nur eingeschränkt unterstützt. Es bleibt also nichts anderes, als das Bild in einen anderen Datentyp, z.B. Single oder Double, umzuwandeln.
Grüße,
Harald
|
|
|
wolfomat |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 05.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.06.2011, 18:52
Titel:
|
 |
egal ob single oder double, der fehler bleibt.....?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 05.06.2011, 19:23
Titel:
|
 |
Hallo,
derselbe Fehler? Kann ich mir nicht vorstellen.
Nur sicherheitshalber: hast du gespeichert?
Davon abgesehen bietet sich der Code doch wunderbar an, um zu vektorisieren und die for-Schleifen wegzulassen.
Grüße,
Harald
|
|
|
wolfomat |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 05.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.06.2011, 20:40
Titel:
|
 |
Harald hat Folgendes geschrieben: |
Hallo,
Nur sicherheitshalber: hast du gespeichert?
|
yapp, das mach ich immer schon automatisch
Harald hat Folgendes geschrieben: |
Hallo,
Davon abgesehen bietet sich der Code doch wunderbar an, um zu vektorisieren und die for-Schleifen wegzulassen.
Grüße,
Harald |
das habe ich auch probiert, und folgender fehler wird geworfen:
:-/ komm mir bisschen doof vor, zumal ich das schonmal so ähnlich gemach habe....
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 05.06.2011, 21:25
Titel:
|
 |
Hallo,
wenn alle beteiligten Variablen (Operanden) in Double umgewandelt sind, kann es zu dieser Fehlermeldung an sich nicht kommen.
Bitte im Zweifelsfall nochmal das ganze momentane Skript posten.
Grüße,
Harald
|
|
|
wolfomat |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 05.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.06.2011, 22:44
Titel:
|
 |
hi,
also es läuft noch nicht :/
egal ob ich nun die schleife oder vektoriell berechne, ich bekomme immer fehlermeldungen >.>
die "neuste":
Zitat: |
??? Array dimensions must match for binary array op.
Error in ==> A7 at 39
I1neu = (I1 - gmini1 ) * ( ( wmax - wmin ) / ( gmaxi1 - gmini1 ) ) +
wmin;
|
hier das script:
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 06.06.2011, 09:09
Titel:
|
 |
Hallo,
das Problem ist, dass gmaxi1 und gmini1 keine Skalare, sondern 1x1x3-Variablen sind (schau mal in den Workspace). Ich vermute, du willst
Grüße,
Harald
|
|
|
wolfomat |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 05.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.06.2011, 15:19
Titel:
|
 |
super danke, läuft
auf den workspace schauen, das hab ich noch ned wirklich gemacht, also ich kam noch ned auf die idee....
vorallemdingen das min(min()) und max(max()) wurde uns so im studium erläutert..... oh man
danke für deine hilfe!
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 06.06.2011, 15:41
Titel:
|
 |
Hallo,
vielleicht die Erklärung:
min nimmt das Minimum entlang einer Dimension (Default: Spalten).
Bei einer 2D-Matrix kannst du dann nochmal min nehmen, und bekommst dann das Minimum über alle Elemente.
Bei einer 3D-Matrix müsstest du noch einmal das Minimum nehmen, was dann ein bisschen abartig wirkt.
Eleganter ist dann doch, die Elemente der Matrix in einem Vektor anzuordnen - so wie von mir eben vorgeschlagen.
Grüße,
Harald
|
|
|
wolfomat |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 05.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.06.2011, 16:19
Titel:
|
 |
der code läuft, aber er macht ned das was er soll. das bild wird schwarz oder weiß, aber irgendwie ned der gewünschte effekt. ich hasse das....
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 06.06.2011, 17:07
Titel:
|
 |
Hallo,
bist du sicher, dass diese Zeile stimmt:
Warum nennst du es gmaxi1, wenn es ein Minimum von Bild 2 ist?
Grüße,
Harald
|
|
|
wolfomat |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 05.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.06.2011, 17:45
Titel:
|
 |
stimmt, sollte max(max(I1)); heißen...
aber da liegt nicht das problem.. .mhmmm
der geht auch gar ned in die for schleife rein, das verstehe ich nicht... :-/
dann habe ich die for schleifen mal etwas "gefixt":
auch das brachte nix in einer anderen matlab file loopt der auch nicht durch. ..... mhmm
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 06.06.2011, 17:57
Titel:
|
 |
Hallo,
warum nimmst du überhaupt eine Schleife statt des vektorisierten Codes?
Und was bedeutet: "er geht nicht in die Schleife rein"? Der Code wird an sich, wie sich mit dem Debugger auch nachvollziehen lässt, zeilenweise durchgeführt.
Bitte also um genauere Erläuterung.
Ansonsten wäre auch eine genauere Erklärung, was der Code machen soll hilfreich - und dass du das Bild, um das es geht anhängst, oder es anhand eines Demobildes (z.B. b747.jpg) nachvollziehbar machst.
Grüße,
Harald
|
|
|
wolfomat |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 12
|
 |
|
 |
Anmeldedatum: 05.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.06.2011, 18:21
Titel:
|
 |
bild: ist einfach unterbelichtet -> ist beliebig.
Zitat: |
"er geht nicht in die Schleife rein"? |
er durchläuft die schleife, aber berechnet nix.
lag an der falschen indizierung.
statt M, N und z als Indizes, nimmt man die laufvariablen k,i und j. was auch sinn macht *d'oh*
hat den selben effekt wie:
wollte halt nur des lerneffektes wegen die for schleife benutzen
dann I1neu/255 teilen -> dann ist das bild heller
(egal ob schleife oder vektoriell, das ergebnis ist immer das gleiche, aber die schleife ist halt sehr lahm!!!! (wie gesagt -> lerneffekt))
|
|
|
|
|
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.
|
|