Einlesen von verschiedenen .csv Datein, anschließender Plot
jokoba
Forum-Newbie
Beiträge: 5
Anmeldedatum: 09.04.14
Wohnort: ---
Version: ---
Verfasst am : 11.04.2016, 09:31
Titel : Einlesen von verschiedenen .csv Datein, anschließender Plot
Moin,
ich habe es soweit, dass er mir alle Daten einliest und auch halbwegs vernünftig plottet.
Erst mal mein Code:
Code:
clear all
clc ;
%% Grundwerte Rho und Re
Re=1000000 ;
rho=1 ;
nu=0.000035 ;
%% Datei DNS N1 einlesen
pfad='/pfad/ ';
for i = 0 :5 ;
dateiSlice = sprintf ( '%sSlice//Slice%i.csv ',pfad,i)
dataNeu = csvread ( dateiSlice,1 ) ;
data1 = sortrows ( dataNeu,15 ) ;
p = data1( :,1 ) ;
x = data1( :,14 ) ;
y = data1( :,15 ) ;
z = data1( :,16 ) ;
u = data1( :,2 ) ;
v = data1( :,3 ) ;
w = data1( :,4 ) ;
u_mean = data1( :,5 ) ;
v_mean = data1( :,6 ) ;
w_mean = data1( :,7 ) ;
Rxx_mean = data1( :,8 ) ;
Ryy_mean = data1( :,9 ) ;
Rzz_mean = data1( :,10 ) ;
Rxy_mean = data1( :,11 ) ;
Ryz_mean = data1( :,12 ) ;
Rxz_mean= data1( :,13 ) ;
%% Mitteln und reshape
step = 122 ;
U_tmp = reshape ( u_mean, step , length ( u_mean) /step ) ;
y_tmp = reshape ( y, step , length ( y) /step ) ;
x_tmp = reshape ( x, step , length ( x) /step ) ;
z_tmp = reshape ( z, step , length ( z) /step ) ;
V_tmp = reshape ( v_mean, step , length ( v_mean) /step ) ;
W_tmp = reshape ( w_mean, step , length ( w_mean) /step ) ;
u_mean_ave = mean ( U_tmp) ';
y_mean = mean ( y_tmp) ';
z_mean = mean ( z_tmp) ';
%% u_tau, tau_w usw.
grad_u = ( ( u_mean_ave( 2 ) -u_mean_ave( 1 ) ) /( ( y_mean( 2 ) -y_mean( 1 ) ) ) ) ;
tau_w = nu * grad_u;
u_tau = sqrt ( tau_w) ;
%% dimensionslos machen
u_plus = u_mean_ave/u_tau;
y_plus = ( u_tau * y_mean) /nu;
z_plus = ( u_tau * z_mean) /nu;
%% Wilde Sachen einladen
datenAgard = xlsread ( '/pfad1.xls ') ;
y_plus_agard = datenAgard( :,3 ) ;
u_plus_Agard = datenAgard( :,4 ) ;
Rxx_plusAgard =datenAgard( :,5 ) ;
Ryy_plusAgard =datenAgard( :,6 ) ;
Rzz_plusAgard =datenAgard( :,7 ) ;
Rxy_plusAgard =datenAgard( :,8 ) ;
%% u_plus gegen y_plus
if i==0 ;
figure
end
siz= [ 14 12 ] ;
%Papiergr� ;� ;e
set ( gcf ,'PaperPositionMode ','default ') ;
set ( gcf ,'PaperUnits ','centimeters ') ;
set ( gcf ,'PaperPosition ',[ 0 0 siz] ) ;
set ( gcf ,'PaperSize ',siz) ;
box on;
semilogx ( y_plus,u_plus,'r ', y_plus_agard,u_plus_Agard,'k ', 'LineWidth ',1 )
xlabel ( 'y^+ ','FontName ','Times New Roman ','FontSize ',18 ) ;
ylabel ( 'u^+ ','FontName ','Times New Roman ','FontSize ',18 ) ;
h= legend ( 'DNS BlockMesh ','Agard ') ;
set ( h,'FontSize ',12 ,'Location ','NorthWest ') ;
axis ( [ 1.3 800 0 28 ] ) ;
hold on;
end
Ich habe eingestellt, dass alle errechneten Plots rot werden. Wie bekomme ich es denn hin, das jeder Plot farblich anders ist und dies in meiner Legende eintragen werden kann.
Winkow
Moderator
Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
Verfasst am : 11.04.2016, 11:10
Titel :
wenn man die farbe nicht setzt und mit hold on bzw der axes eigenschaft nextplot=add arbeitet erstellt er bei jedem zusätzlichen plot eine neue farbe.
bsp :
vielleicht muss auch hold all genommen werden wenn du mit einer älteren matlab version arbeitest.
_________________richtig Fragen
Einstellungen und Berechtigungen
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
| 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.