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

quiver Pfeilspitzen passen nicht zum Pfeil

 

Amaya
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 05.05.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2019, 13:55     Titel: quiver Pfeilspitzen passen nicht zum Pfeil
  Antworten mit Zitat      
Hallo,
ich habe mit der Annotation der folgenden Seite meinen Plot modifiziert.



https://stackoverflow.com/questions.....head-style-in-quiver-plot

mein code sieht dadurch wie folgt aus:
Code:

headWidth = 8;
headLength = 8;
LineLength = 0.8;

%some data

z=12; %Anzahl Raben bei Beute (liegt zwischen 5-20)
theta=1/40;
alphaR = 0.224; %Reproduktionrate ohne Wolf vom Elch
betaR = alphaR/23; %Sterberate durch Fraß
gammaR = 0.258; %Sterberate ohne Beute
deltaR = 0.000332; %Reproduktionsrate pro Beute

%some data
[x,y] = meshgrid(0:150:1500, 0:5:50);
u = x.*alphaR - betaR.*y.*x;
v = -gammaR.*y+((deltaR.*x.*y)/(1+theta.*z));

%quiver plots
figure(1);
hq = quiver(x,y,u,v);           %get the handle of quiver


%get the data from regular quiver
U = hq.UData;
V = hq.VData;
X = hq.XData;
Y = hq.YData;

%right version (with annotation)
figure(2);
%hold on;
for ii = 1:length(X)
    for ij = 1:length(Y)

        headWidth = 5;
        ah = annotation('arrow','headStyle','cback3','HeadLength',headLength,'HeadWidth',headWidth);
        set(ah,'parent',gca);
        set(ah,'position',[X(ii,ij) Y(ii,ij) LineLength*U(ii,ij) LineLength*V(ii,ij)]);

    end
end
hold on;
plot((gammaR*(1+theta*z))/deltaR,alphaR/betaR,'Marker','*','Markersize',10,'Color','r');
%axis off;
ylim([0 50]);
xlim([0 1500]);
hold off;
 


mein Problem ist nun, dass die Pfeilspitzen zwar die richtige Form und Größe haben, allerdings 'stecken' sie nicht richtig an der Pfeillinie. Das heißt sie zeigen nicht in die richtige Richtung. Dies ist bei einem Richtungsfeld natürlich ganz blöd und ich weiß nicht woran es liegt. Mit dem normalen quiver plot kann ich leider auch nichts anfangen, da sich die Pfeile dann überlappen und die Pfeilspitzen viel zu breit sind. Wenn ich die Pfeilspitzen dort kleiner stelle kann man sie nicht mehr als pfeil erkennen, da sie dann nicht mehr spitz genug sind und mehr wie ein 'T' aussehen.

PfeileBild.jpg
 Beschreibung:

Download
 Dateiname:  PfeileBild.jpg
 Dateigröße:  24.88 KB
 Heruntergeladen:  289 mal
Pfeile.fig
 Beschreibung:

Download
 Dateiname:  Pfeile.fig
 Dateigröße:  66.31 KB
 Heruntergeladen:  293 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.07.2019, 15:05     Titel:
  Antworten mit Zitat      
Hallo,

unterschiedliche Skalierung der Achsen kann ein Problem sein -->
Code:


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Amaya
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 05.05.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2019, 15:11     Titel:
  Antworten mit Zitat      
dadurch werden meine Pfeile alle gleich lang und zeigen entweder nur nach rechts oder nur nach links Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.07.2019, 16:23     Titel:
  Antworten mit Zitat      
Hallo,

sind u und v richtig berechnet? Was ist die "richtige" Richtung? Stimmt die Richtung beim "normalen" quiver-Plot?

Die wahrgenommene Richtung hängt unmittelbar von der gewählten Skalierung auf der x- und auf der y-Achse ab.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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.