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

Zeilennr. bzw. Spaltennummer von Matrizen abfragen

 

schneemann
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 08.01.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.01.2017, 16:11     Titel: Zeilennr. bzw. Spaltennummer von Matrizen abfragen
  Antworten mit Zitat      
Liebe Community,

ich habe mit dem Befehl "mashgrid" ein Netz erstellt und möchte nun die Koordinaten x,y eines bestimmten Punktes eingeben. MATLAB soll mir daraufhin aus der xi-Matrix die Spaltennummer für die x-Koordinate (alle Punkte für x=0 stehen z.b. in einer Spalte) auswerfen. Für die y-Koordinate benötige ich die Zeilennummer aus der yi-Matrix. Mit diesen beiden Informationen möchte ich dann aus einer 3. Matrix einen Wert (= die Knotennummer) mir ausgeben lassen. Hat jemand ne Idee wie man das programmieren könnte?

Danke!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 08.01.2017, 18:37     Titel:
  Antworten mit Zitat      
Hallo,

wenn du deinen Code postest, ist das oft deutlich leichter verständlich als längliche Umschreibungen.
Falls ich das richtig verstehe, möchtest du zu einem Wert x den Index des xi-Werts finden, der diesem am nächsten ist.
Code:
[~, colidx] = min( abs(x-xi) )

Entsprechend für x und y

Der Rest sollte dann nur noch eine Indizierung in die Matrix sein.

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

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 08.01.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.01.2017, 21:40     Titel:
  Antworten mit Zitat      
danke für den tipp - dann versuch ich das mal

Code:
[xi,yi] = meshgrid(x,y);
x = (0:0.25:3.5); ...% Knotenkoordinaten
y = (0:0.25:1.75);
 

zusätzlich zu den beiden Matrizen xi und yi folgt aus meinem Code noch eine Matrix mit den Werten der Knotenpunkte
ich hab einen Screenshot der 3 Matrizen im Anhang angefügt.

jetzt möchte ich eine beliebige x- & y-Koordinate eingeben und MATLAB soll mir die Knotennummer dieses Punktes ausspucken.

[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]

Matrizen-xi,yi,Knotenpunkte.jpg
 Beschreibung:

Download
 Dateiname:  Matrizen-xi,yi,Knotenpunkte.jpg
 Dateigröße:  304.75 KB
 Heruntergeladen:  214 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

hast du den Vorschlag denn versucht? Falls ja, welche Probleme sind dabei aufgetreten?

Es ist keine gute Idee, denselben Variablennamen doppelt zu nutzen. Mit dem überschriebenen x und y ist es leichter, den Vorschlag umzusetzen.

Grüße,
Harald

P.S.: Bitte für Code die Code-Umgebung nutzen.
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.