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

Polygon mit Schleife nach rechts wandern lassen

 

Labmat

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.04.2010, 00:40     Titel: Polygon mit Schleife nach rechts wandern lassen
  Antworten mit Zitat      
Hallo,

ich muss ein Rechteck mit den Punkten polyg = fill([0 0 40 40], [30 60 60 30]) in 10er Schritten von links nach rechts über das Bild laufen lassen, sodass es die Endkoordinaten [40 40 80 80], [30 60 60 30] einnimmt. Es verändern sich also nur die x- Koordinaten. Ich hätte es mir so überlegt:

pause;

for

x1= 0:10:40
x2= 0:10:40
x3= 40:10:80
x4= 40:10:80

set(polyg, 'Position',[x1 x2 x3 x4], [30 60 60 30])
pause(.5)

end

eine der unzähligen Versuche, es irgendwie hinzubekommen. Nichts hat bis jetzt funktioniert. Irgendetwas Grundlegendes mache ich immer falsch. Hat jemand von euch eine Idee?

Vielen Dank schon im Voraus!

Lg


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.04.2010, 09:21     Titel:
  Antworten mit Zitat      
Hallo,

du musst schon angeben, über was die for-Schleife laufen soll - und das geht nur über einen Vektor. Wenn sie quasi über mehrere Vektoren laufen soll, bietet sich an, die for-Schleife über einen Index laufen zu lassen und in die Vektoren zu indizieren:

Code:
x1= 0:10:40;
x2= 0:10:40;
x3= 40:10:80;
x4= 40:10:80;
for  I = 1:length(x1)
set(polyg, 'Position',[x1(I) x2(I) x3(I) x4(I)], [30 60 60 30])
pause(.5)

end


Alternativ könnte man aus x1, x2, x3, x4 auch eine Matrix basteln und sich für die Position eine Zeile/Spalte herausziehen.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.04.2010, 21:23     Titel: Danke =)
  Antworten mit Zitat      
Danke dir vielmals! Very Happy Trotzdem verstehe ich die Formel/ Ergänzung nicht Wink (Ich bin ich neu mit Matlab und kenne mich noch nicht so ganz aus. )

Allerdings kommt bei deinem Befehl immer eine blaue Fläche.. die Achsen sind da, der Rest verschwunden. Woran kann das liegen?

Danke!
 
Labmat

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.04.2010, 21:29     Titel: Re: Danke =)
  Antworten mit Zitat      
Labmat hat Folgendes geschrieben:
Danke dir vielmals! Very Happy Trotzdem verstehe ich die Formel/ Ergänzung nicht Wink (Ich bin ich neu mit Matlab und kenne mich noch nicht so ganz aus. )

Allerdings kommt bei deinem Befehl immer eine blaue Fläche.. die Achsen sind da, der Rest verschwunden. Woran kann das liegen?

Danke!


und jetzt heißts plötzlich:

??? Error using ==> set
Invalid parameter/value pair arguments.
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.04.2010, 22:41     Titel:
  Antworten mit Zitat      
Hallo,

ich muss sagen, ich hatte fill nie verwendet und wollte dir nur sagen, wie du die for-Schleife schreiben kannst... aber das ganze hätte ja auch ohne for-Schleife nicht funktioniert. So gehts:

Code:
polyg = fill([0 0 40 40], [30 60 60 30], 'b');
axis([-100 100 -100 100]); axis manual
x1= 0:10:40;
x2= 0:10:40;
x3= 40:10:80;
x4= 40:10:80;
%%
for  I = 1:length(x1)
set(polyg, 'XData',[x1(I) x2(I) x3(I) x4(I)])
pause(.5)

end


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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.04.2010, 23:44     Titel: Danke =)
  Antworten mit Zitat      
Very Happy Danke vielmals, diesmal hat es geklappt Smile

Sogar mit Achsen, aber die hatte ich schon, danke Wink
 
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.