|
Autor |
Variablenwert im Textfeld einer Figure ausgeben! |
|
dustin
Ehemals Aktiv  Dabei seit: 19.06.2009 Mitteilungen: 179
 | Themenstart: 2011-02-14
|
In meinen Skript werden in einer for schleife einige Graphen erstellt.
Nun soll er mir in jedem Graphen anzeigen zu welchem Wert der Graph gehört.
Ich möchte also eine Variablenwert im Textfeld meine figure reinpacken.
Geht sowas und wenn ja wie!
|
Profil
|
Todd
Senior  Dabei seit: 29.06.2006 Mitteilungen: 476
Wohnort: Leipzig
 | Beitrag No.1, eingetragen 2011-02-15
|
Hallo dustin,
ganz genau verstehe ich nicht was du meinst.
Ich nehme an, dass du für jeden Plot ein eingenes Figure erstellst bzw. diese über den plot-Befehl automatisch generiert werden. Welchen Wert möchtest du nun wohin gepackt haben? Bitte genaue Angaben. Dann wirds ne super Lösung geben :)
Lg
Todd
[edit]
Nochmal kurz über den Sinn der Frage nachgedacht. Minimalbeispiel, so wie ich es jetzt verstanden habe:
\sourceon matlab
x = -pi:0.01:pi;
for i=1:10
y = cos(x)*rand(1,1);
h = figure;
plot(x,y,'Color',rand(3,1));
set(h,'Name',[get(h,'Name') ' | PlotNumber: ' num2str(i)]);
end
\sourceoff
[ Nachricht wurde editiert von Todd am 15.02.2011 19:38:24 ]
|
Profil
|
Kitaktus
Senior  Dabei seit: 11.09.2008 Mitteilungen: 7142
Wohnort: Niedersachsen
 | Beitrag No.2, eingetragen 2011-02-16
|
Hallo,
wenn Du verschiedene Plots hast, kannst Du mit dem Befehl "title" dem Plot einen Titel geben. Laufende Nummern o.ä. kann man mit num2str in Text umwandeln.
Wenn Du in einen Plot verschiedene Graphen unterscheiden willst, sehe ich zwei Möglichkeiten
1) "legend" erzeugt eine Legende. Dabei kann man allen nacheinander ausgeführten plot-Befehlen eine Zeichenkette zuordnen. Das funktioniert aber nur sinnvoll, wenn sich die Graphen in Farbe, Linienart, oder Symbol unterscheiden.
2) "text" erlaubt es einen String an eine vorgegebene Position im plot zu schreiben.
Hier mal ein Beispiel, bei dem man auch die Schwäche von legend erkennt:
\sourceon Matlab
figure, hold on
x = -3:0.01:3;
for k=1:5
y=x.^3-5*k*x.^2+k^3*x-k^3;
plot(x,y)
posx=k/2-3;
posy=(k/2-3)^3-5*k*(k/2-3)^2+k^3*(k/2-3)-k^3-20;
text(posx,posy,['k=',num2str(k)]);
end
legend('k=1','k=2','k=3','k=4','k=5','Location','SouthEast')
title('Parameter k=1...5')
\sourceoff
|
Profil
|
dustin
Ehemals Aktiv  Dabei seit: 19.06.2009 Mitteilungen: 179
 | Beitrag No.3, vom Themenstarter, eingetragen 2011-02-16
|
Ich mein das folgende.
In meinen Skript plote ich z.b sin(ax).
Undzwar wie folgt
\sourceon Matlab
x=0:0.001:2*Pi
for a=0:10
figure;
plot(x,sin(a*x))
title( hier soll nun stehn wie a gerade ist.)
text(oder halt hier)
\sourceoff
Ich vermute mal das Kitakus Skript das mit [k=',num2str(k)]
schon genau macht, werde es morgen ausprobieren.
Danke für eure Hilfe!
|
Profil
| Folgende Antworten hat der Fragensteller vermutlich noch nicht gesehen. Er/sie war noch nicht wieder auf dem Matheplaneten |
blaich
Neu  Dabei seit: 22.10.2019 Mitteilungen: 1
 | Beitrag No.4, eingetragen 2019-10-22
|
Variablenwert in figure (MATLAB):
x = [3;4;6;7;8;9];
y = [5;7;6;9;10;11]
figure
hold on
plot(x,y,'*')
for i=2:5
text(x(i)-0.3,y(i)+0.2,['P(',num2str(x(i)),',',num2str(y(i)), ')'], 'FontSize', 12)
end
|
Profil
|
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|