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

image nach manueller achsenskalierung verschoben

 

Antonio

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.06.2012, 16:34     Titel: image nach manueller achsenskalierung verschoben
  Antworten mit Zitat      
Hallo,

ich erstelle aus einem Array ein Image, leider staucht mir Matlab die einzelnen Feld sodass ich statt "Rechtecken" einen Quaderform.

(siehe image_ohne_skal.gif)

Jetzt habe ich versucht nach dem image die Achsen festzulegen mit xlim,ylim und xtick und ytick für die Achseneinteilung.

Das Problem er verschiebt mir das "Bild"

(siehe image_mit_skal.gif)

Ich hätte gerne das die einzelnen Felder quadratisch bzw. deren Kantenlängen gleich sind (wie bei einem Schachbrettmuster)

Code:

clear all;
clc;

a=rand(4,16);
a(1,1)=100;
a(1,8)=50;
a(4,1)=200;
image(a);

%set(gca,'XTickMode','manual','YTickMode','manual','XLim',[0 16],'YLim',[0 4]);
set(gca,'XLim',([min(0) max(16)]),'YLim',([min(0) max(4)]));
 


Kann mir jemand sagen was ich da falsch mache?

Vielen Dank schon mal.

Grüße

image_mit_skal.GIF
 Beschreibung:
Image mit Skalierung, Bild verschoben

Download
 Dateiname:  image_mit_skal.GIF
 Dateigröße:  10.19 KB
 Heruntergeladen:  484 mal
image_ohne_skal.GIF
 Beschreibung:
Image ohne Achsenlimits

Download
 Dateiname:  image_ohne_skal.GIF
 Dateigröße:  15.19 KB
 Heruntergeladen:  527 mal


Antonio

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.06.2012, 16:56     Titel:
  Antworten mit Zitat      
Hallo,

habs mit axis image jetzt schon mal "quadratisch" hinbekommen.

Hätte da aber noch eine Frage.

Wie schaffe ich es das Bild zu vergößern , ich kann zwar die Figure maximieren, aber das wäre besser wenn man direkt im code definieren kann.

Jemand eine Idee?
 
Antonio

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.06.2012, 16:59     Titel:
  Antworten mit Zitat      
Hab den Befehl vergessen anzugeben:

axis image

Das kleine Bild dazu

image_small.GIF
 Beschreibung:

Download
 Dateiname:  image_small.GIF
 Dateigröße:  9.16 KB
 Heruntergeladen:  535 mal
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 14.06.2012, 17:12     Titel:
  Antworten mit Zitat      
Hallo Antonio,

Du kannst sowohl die Position der FIGURE als auch der AXES im Code angeben. Siehe "doc figure" und da unter Properties schauen.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.06.2012, 18:04     Titel:
  Antworten mit Zitat      
Hi danke dir, hab den richtigen Befehl gefunden. Für die auch mal vor dem gleichen Proib stehen , mit set und position.

Hab noch ne Frage.

Ich setze die figure eigenschaften nach dem Befhel image mit der "set-Fkt."

Ich würde gerne die Einstellungen vor der FUnktion definieren. Leider kann ich dazu kein "hold on" nutzen da ich den image Befehl in einer while schleife aufrufe und mit "hold on" sich das Bild irgendwann aufhängt bzw. die aktualisierung des Bildes langsamer wird.

Gibt es noch eine Möglichkeit ohne "hold on" die figure eigenschaften wie CLim , XLim nur einmal zu definieren, statt das jedes Mal in der
endlos while-schleife nach dem image Befehl per set -Befehl die EIgenschaften zu setzen?

Folgendes Minimalbeispiel:

Code:


clear all;
clc;

set(gca,'YLim',[0 4],'XLim',[0 16]);
set(gca,'xtick',([min(0):1:max(16)]),'ytick',([min(0):1:max(4)]))
%set(gca,'YLimMode','manual','YLim',[0 4],'XLimMode','manual','XLim',[0 16]);

set(gca,'Position',[0.05 0.15 0.9 0.8150]);
%pos=get(gca,'Position')

axis image;

hold on; hold all;

while 1
    a=rand(4,16)*100;
    pause(0.01);
    image(a);
   
end
 


Mit hold on wird die Bild aktualisierung nach ner Zeit immer langsamer zudem ist die cpu auslastung bei 80%

ohne hold on und mit setzen der eigenschaften über set in der while kein Problem.

Ne Idee wie ich das am Besten mache?
 
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.