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

Knoten eines Graphen benennen.

 

MarioW
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 17.08.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.08.2017, 13:31     Titel: Knoten eines Graphen benennen.
  Antworten mit Zitat      
Hallo an Alle hier,

zunächst möchte ich mich bei euch allen bedanken für dieses tolle Forum, hier habe ich schon viele hilfreiche Tipps und Ideen beim Umgang mit Matlab gefunden. Danke euch!

Jetzt habe ich allerdings ein Problem zu dem ich trotz langer Suche noch keine Lösung gefunden habe:

Ich arbeite mit einem ungerichteten Graphen von dem ich aktuell weder die Anzahl der Knoten noch die Anzahl der Kanten kenne. Nach einigen Berechnungen möchte Ich einen Subgraph vom eigentlichen Graph extrahieren und damit weiterarbeiten. Leider gehen dabei die bisher geltenden Knotennummern verloren und im neuen Graph werden die Knoten von 1 aufwärts neu benannt.
Dies konnte ich umgehen indem ich den Knoten von vornerein Namen, entsprechend ihrer Nummern, zugewiesen habe.

Hier ein Beispiel für einen Graph mit 8 Knoten.
Code:

Netz = graph([1 1 1 1 2 2 2 3 3 4 4 6],[2 3 6 7 4 6 8 5 7 5 8 8],[1 1 1 1 1 1 1 1 1 1 1 1],{'1' '2' '3' '4' '5' '6' '7' '8'});
 


Jetzt müsste ich in Abhängigkeit der Anzahl der vorhandenen Knoten die Namen vergeben, komme dabei allerdings nicht weiter. Ist es möglich das cell-Arry
Code:
{'1' '2' '3' '4' '5' '6' '7' '8'}
automatisiert zu erzeugen?

Für Tipps und Ideen wäre ich euch sehr dankbar.
Sollte das Problem nicht klar geworden sein schreibt bitte eine kurze Nachricht, damit ich es vielleicht nochmal auf einem anderen Weg schildern kann.

Viele Grüße
MarioW
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.08.2017, 13:45     Titel:
  Antworten mit Zitat      
Hallo,

Vorschlag:
Code:
n = 8;
cellstr( num2str((1:n)') )'


In der Syntax
Code:
graph(s, t, ...)

wäre n dann meines Erachtens:
Code:
n = max( max(s), max(t) );


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

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 17.08.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.08.2017, 13:54     Titel: Danke!
  Antworten mit Zitat      
Harald, du bist der Wahnsinn, vielen Dank!

Daran hab ich ewig rumgebastelt und du schreibst es in einem Dreizeiler Very Happy

Klasse!
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.08.2017, 14:41     Titel:
  Antworten mit Zitat      
Wenn ich mich anstrenge, bekomme ich es vielleicht sogar in eine Zeile Laughing

Schön, dass ich helfen konnte.

Grüße,
Harald
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.