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

Fehler bei Variablen übergeben

 

Flo555

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.02.2014, 16:38     Titel: Fehler bei Variablen übergeben
  Antworten mit Zitat      
Hallo,
und zwar will ich mit der Funktion "scattercloud" (http://www.mathworks.de/matlabcentr.....xchange/6037-scattercloud)

ein Diagramm plotten. Dieser Funktion soll man 6 Variablen übergeben:
(x,y,n,l,clm,cmap).

Anscheinend hat diese Funktion jedoch irgendein Fehler.

Wenn ich nur die ersten 4 Variablen übergebe, kommt ein für mich zufriedenstellendes Ergebnis. Clm und cmap übergebe ich nicht.
Das funktioniert im Command window.

Ich greife jedoch auf diese Funktion in einer anderen m-file zu. Das heisst in dieser m-file schreibe ich es folgendermaßen:

Code:
x= a_x (eine Variable von mir)
y=a_y (eine Varibale von mir)
n=220
l=1

cd ('C:\Users\,.....)
h = scattercloud(x,y,n,l,clm,cmap)



Hier bekomme ich jedoch eine Fehlermeldung, dass clm nicht definiert ist. Jetzt könnte man ja sagen, dass man einfach clm und cmap die Default-Wert übergibt.
Das will ich aber verhindern, da die Funktion mein Ergebnis dann komischerweise verändert. Bin also in der Zwickmühle.

clm,cmap nicht übergeben---> Fehlermeldung
clm,cmap Standardeinstellung übergeben-->Plot wird verändert

Wie kann ich das lösen? Kann man nicht iwie "leere" Variablen übergeben?


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 22.02.2014, 17:05     Titel: Re: Fehler bei Variablen übergeben
  Antworten mit Zitat      
Hallo Flo555,

Bitte poste eine vollständige Kopie der Fehlermeldung. Eine ungefähre Besschreibung ist weniger hilfreich.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.02.2014, 17:18     Titel:
  Antworten mit Zitat      
Bekomme nun auch wenn ich die Standardwerte der letzten beiden Variablen übergebe Fehlermeldungen. Variablen sind:

x=A_x;
y=A_y;
n=220;
l=1;
clm='k+';
cmap='flipud(gray(256))';


Fehlermeldung:

>> Versuch (meine m-file)
Error using colormap (line 96)
Colormap must have 3 columns: [R,G,B].

Error in scattercloud (line 102)
colormap(ax,cmap);

Error in Versuch (line 2Cool
h = scattercloud(x,y,n,l,clm,cmap)
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.02.2014, 17:35     Titel:
  Antworten mit Zitat      
Das Problem liegt anscheinend an dem "flipud".
Wenn ich das weglasse, geht es. Nur das Diagramm zeigt Mist an.

scattercloud ist ja ein normaler Scatterplot. Jedoch mit einer Anzeige der Häufigkeit von gleichen Wertepaaren (unterschiedliche Farbe).

Lasse ich flipud weg, zeigt er alle Wertepaare mit gleicher Farbe an und da drunter ist wahrscheinlich die Farbverteilung. Flipud dreht die Ebenen. So, werden die Punkte unter die Farbverteilung gelegt und alles ist gut.

Wäre also gut, wenn flipud keine Fehlermeldungen produziert oder ich die Punkte unsichtbar machen könnte.
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 22.02.2014, 18:14     Titel:
  Antworten mit Zitat      
Hallo,

lass mal die Hochkommas bei der Colormap weg? Das soll ja ein Befehl sein, der da ausgeführt wird.

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



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.02.2014, 19:04     Titel:
  Antworten mit Zitat      
Das lässt schonmal alle Fehlermeldungen verschwinden. Danke schonmal dafür.
Nur bin ich leider nicht viel weiter.
Also Variablen werden nun so übergeben:
x=A_x;
y=A_y;
n=220;
l=1;
clm='k+';
cmap=flipud(jet);


Es wird nun beides geplottet.(Siehe Anhang) Die Punkte (+) der Wertepaare. Die Dichteverteilung mit "Jet"-Skala liegt jedoch immer noch dahinter. Diese wird jedoch durch das flipud umgekehrt (blau= hohe Dichte anstatt rot)

Also bezieht sich das flipud nun auf die Skala und nicht auf das Verhältnis zwischen den Wertepaaren und der Farbskala.

Wie bekomme also nun die Farbverteilung in den Vordergrund bzw. die Wertepaara unsichtbar/in Hintergrund?

Problem.png
 Beschreibung:

Download
 Dateiname:  Problem.png
 Dateigröße:  100.62 KB
 Heruntergeladen:  311 mal
 
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.