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

eine legende über for schleife erstellen

 

Aaylo Secura
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 16.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2013, 10:12     Titel: eine legende über for schleife erstellen
  Antworten mit Zitat      
Hallo,
ich hab da noch ne frage.
ich habe ein programm, dass über eine for-schleife die gewünschte anzahl an graphen aus ausgewählten spalten einer matrix erstellt. diese graphen sollen über einen string jeder eigene namen bekommen.
das programm malt die graphen alle ganz schön, allerdings zeigt es in der legende nur den namen für einen graphen an. das ist mein programm:

Code:
load('Versuche.mat');
b=[0:16];    
x=input('Wie viele Kurven?');
for i=1:x
    a(i,1:16)=num(input('Versuchsnummer'),24:2:54);
    n(i,1)=input('Name');
    figure(1)
    hold all;
    grid on;
    farbe=cell(3,1);
    farbe{1,1}='r-';
    farbe{2,1}='b-';
    farbe{3,1}='g-';
    farbe{4,1}='k-';
    farbe{5,1}='c-';
    farbe{6,1}='y-';
    for j=1:x      
        p(i,1)=plot(b,a(i,: ),farbe{i,1},'Displayname', n(i,1));

    end
end


Wie muss ich den legend befehl formulieren, sodass alle Kurven dort unter ihrem eigenen namen verzeichnet sind?

schonmal vielen dank!
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 25.11.2013, 13:23     Titel:
  Antworten mit Zitat      
hallo
bitte verwende die codeumgebung wenn du code postest
außerdem ist es hiflreich ein lauffähiges minimalbeispiel zu posten. dann muss ich nicht so viel selber schreiben

Code:
x=1:10;
y{1}=x.^2;
y{2}=x.^3;
for k=1:numel(y)
    plot(x,y{k})
    hold all
    name{k}=['plot ',num2str(k)];
end
legend(name)

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Aaylo Secura
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 16.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2013, 07:50     Titel:
  Antworten mit Zitat      
Danke, Winkow, tut mir leid wegen code und beispiel, ich bin noch nicht so lange dabei. danke dass du mich drauf hingewiesen hast. Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
Aaylo Secura
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 16.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.11.2013, 08:46     Titel:
  Antworten mit Zitat      
Lieber Winkow, irgendwie weiß ich nicht, wie ich das ganze auf mein beispiel zuschneide Sad und bräuchte nochmal ein bisschen hilfe. ich hab jetzt mein script versucht zu vereinfachen, auszukommentieren und für jeden lauffähig zu machen. wo muss ich hier deine befehle einsetzen?

Code:
%Beispielscript
clc;clear all; close all;
% Beispieldatenmatrix
X=[1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7 ; 4 5 6 7 8 ; 5 6 7 8 9 ; 6 7 8 9 10 ];
% Beispielvektor, über den daten aus der beispielmatrix aufgetragen werden sollen
b=[ 1 2 3 4 5];
% Menge an Kurven in der Grafik
x=input('wie viele Kurven?');
% Schleife zum Auswählen bestimmter Versuche (Bsp. Zeile 5 wäre Versuchsnummer5)
for i=1:x
    %bestimmen der versuchsnummer, deren werte aufgetragen werden sollen,
    %erstellen einer neuen matrix a mit den y-werten für die Graphen
    a(i,1:5)=X(input('Versuchsnummer'),1:5);
    %namen der kurven
    name{i,1}=input('Name');
    %figure öffnen
    figure(1);
    %alle graphen in ein figure
    hold all;
    %netz
    grid on;
    %reihenfolge der linienfarben
    farbe=cell(6,1);
    farbe{1,1}='r-';
    farbe{2,1}='b-';
    farbe{3,1}='g-';
    farbe{4,1}='k-';
    farbe{5,1}='c-';
    farbe{6,1}='y-';
    %schleife zum erstellen der plots.
    for j=1:x      
        plot(b,a(i,:),farbe{i,1});
        %die legende funktioniert nicht
        legend('show',name{i,1});
    end


   
end


vielen dank! Aaylo
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 27.11.2013, 09:09     Titel:
  Antworten mit Zitat      
Code:
%Beispielscript

% Beispieldatenmatrix
X=[1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7 ; 4 5 6 7 8 ; 5 6 7 8 9 ; 6 7 8 9 10 ];
% Beispielvektor, über den daten aus der beispielmatrix aufgetragen werden sollen
b=[ 1 2 3 4 5];
% Menge an Kurven in der Grafik
x=input('wie viele Kurven?');  
% Schleife zum Auswählen bestimmter Versuche (Bsp. Zeile 5 wäre Versuchsnummer5)
    farbe=cell(6,1);
    farbe{1,1}='r-';
    farbe{2,1}='b-';
    farbe{3,1}='g-';
    farbe{4,1}='k-';
    farbe{5,1}='c-';
    farbe{6,1}='y-';
    figure(1);
    %alle graphen in ein figure
    hold on;
    %netz
    grid on;

for i=1:x

      a(i,1:5)=X(input('Versuchsnummer'),1:5);

    name{i,1}=input('Name','s');

    plot(b,a(i,:),farbe{i,1});

end
 legend('show',name);

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Aaylo Secura
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 16.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.11.2013, 11:55     Titel:
  Antworten mit Zitat      
Vielen vielen Dank, das funktioniert perfekt! Laughing
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 - 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.