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

Matrix nach Werten Erstellen

 

Litlebuda
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 26.08.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.10.2018, 14:36     Titel: Matrix nach Werten Erstellen
  Antworten mit Zitat      
Hallo Liebes Forum,

ich möchte gerne ein Contourplot erstellen aus einer .xlsx Datei, die mir ein Statistikprogramm ausgespuckt hat. Hintergrund ist, dass der Contourplot aus dem Programm leider sehr unansehnlich ist. Jetzt habe ich folgendes Problem:
Die .xlsx Datei hat drei Spalten. In der ersten Spalte stehen die X-Werte, in der zweiten Spalte die Y-Werte, in der Dritten Spalte die Höhenwerte (Z-Werte). Nun braucht matlab ja für die Z-Werte eine Matrix. Mein Ansatz ist nun, dass ich gerne die Matrix der Z-Werte anhand der Einträge aus den X-Werten bestimmen möchte. Es gibt zu jedem X-Wert 80 Y- und Z-Werte. Die Frage ist also wie ich die Daten so raus finden kann, dass ich eine nach X-Werten sortierte Matrix der Z-Werte bekomme (ich hoffe ich habs nicht zu umständlich erklärt). Ich habe die betreffende xlsx-File als rar angehängt. Mein Ansatz ist bisher quasi nicht wirklich vorhanden. Mit dem find-Befehl kann man zwar die Indizes nach einer vorgegebenen Bedingung finden aber ich möchte ja nicht alle x-Werte händisch vorgeben. Vielleicht hat ja jemand einen Ansatz für mich. Danke schon einmal!

ContourplotTempSpannung.rar
 Beschreibung:

Download
 Dateiname:  ContourplotTempSpannung.rar
 Dateigröße:  175.28 KB
 Heruntergeladen:  243 mal
Private Nachricht senden Benutzer-Profile anzeigen


Litlebuda
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 26.08.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.10.2018, 15:14     Titel:
  Antworten mit Zitat      
Ich habe mir meine Daten jetzt noch ein wenig genauer angeschaut und fest gestellt, dass ich 80 verschiedene X-Werte habe, zu denen ich jeweils 80 Y- und 80 Z-Werte habe. Demnach ist meine Ausgangsmatrix eine 6400x3 Matrix (Die Daten die weiter unten in der xls auftauchen sind vermutlich die Contourlinien aus dem anderen Programm und derstmal egal). Ich habe jetzt immerhin schon folgenden Code-Ansatz:

Code:

close all
clear all

filename='ContourplotTempSpannung';

Data1=xlsread(filename);
Xdata=Data1(1:6400,1);
YData=Data1(1:6400,2);
Zdata=Data1(1:6400,3);


Data1z=reshape(Zdata,[80,80]);





% figure(1)
% p(1)=surf(Data1(1:6400,1),Data1(1:6400,2),Data1b);
 


Damit bekomme ich immerhin schon mal eine 80x80 Matrix mit allen Z-Werten. Was ich nun noch brauche ist eine Funktion, mit der ich mir jeweils einen 80x1-Vektor für die X- bzw. Y-Werte schreiben lassen kann, in dem jeder X- bzw. Y-Wert genau ein mal drin steht. Für Ideen bin ich weiterhin dankbar!
Private Nachricht senden Benutzer-Profile anzeigen
 
Litlebuda
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 26.08.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.10.2018, 15:23     Titel:
  Antworten mit Zitat      
Ok, ich habe es glaube ich selber gelöst. Der unique(A)-Befehl hat geholfen. Hier mein Code für alle die ein ähnliches Problem haben:

Code:

close all
clear all

filename='ContourplotTempSpannung';

Data1=xlsread(filename);
Xdata=Data1(1:6400,1);
Ydata=Data1(1:6400,2);
Zdata=Data1(1:6400,3);


Data1z=reshape(Zdata,[80,80]);
Data1x=unique(Xdata);
Data1y=unique(Ydata);



figure(1)
p=contour(Data1x,Data1y,Data1z);


 



Danke an alle die mir beim Denken zugeguckt haben Wink. Vielleicht hat ja jemand noch kurz Zeit und muße zu erklären wie man vorgehen könnte wenn die x-Vektoren nicht gleich lang sind, der reshape-Befehl also nicht mehr weiterhilft!?

Ansonsten einen schönen Abend.
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.