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

Mfile zur Erzeugung eines Mittelwertes aus 2 Spalten-nZeilen

 

Dani

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2008, 11:47     Titel: Mfile zur Erzeugung eines Mittelwertes aus 2 Spalten-nZeilen
  Antworten mit Zitat      
Hi ihr MATLAB Profis Smile

Bin ziemlich neu auf dem Gebiet unterwegs und bräuchte mal euren Rat.
Ich habe 2 Datenreihen von 2 verschiedenen Versuchen aus denen ich nun den Mittelwert bilden will um diesen dann anschließend mit den X-Daten (Zeit), die von beiden Versuchen gleich, sind zu plotten.

Hoffe mir kann einer weiterhelfen..
Danke schon mal!

Gruß
Dani


Willa
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 80
Anmeldedatum: 23.05.08
Wohnort: Bremen
Version: Willa v1.0
     Beitrag Verfasst am: 16.08.2008, 12:58     Titel:
  Antworten mit Zitat      
Ich bin auch noch etwas unerfahren, aber kopiere och die beiden y spalten in eine neue matrix und mach dann
Code:

y=rand(100,2); % das wären jetzt mal deine y-werte
y(:,3)=(y(:,1)+y(:,2))/2; % Spalte 3 sind nun die Mittelwerte
 


Das geht bestimmt noch einfacher, aber meine Variante ist schön intuitiv Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 16.08.2008, 13:07     Titel:
  Antworten mit Zitat      
Moin,

schaut euch mal die Funktion
Code:
an Wink

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Dani

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2008, 13:15     Titel:
  Antworten mit Zitat      
Danke erstmal an euch beide!
Aber Steve das musst mir jetzt genauer erklären...
Ich hab ja wenn ich beide Spalten plotte 2 Kurven. Gibt es nun eine Plot Funktion mit der ich aus den beiden geplotteten Kurven eine "Mittelwert" Kurve aus beiden erhalte?
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 16.08.2008, 13:25     Titel:
  Antworten mit Zitat      
Bsp.:
Code:

x = 1:10;
y1 = 2.*x;
y2 = .5.*x;
mean_y = mean([y1;y2]);

figure,
hold all,
plot(x,y1),
plot(x,y2),
plot(x,mean_y),
legend('y1','y2','mean_y',0);
 


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?

Zuletzt bearbeitet von steve am 16.08.2008, 19:45, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Dani

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2008, 17:12     Titel:
  Antworten mit Zitat      
Hi ich habs jetzt mal probiert aber er gibt mir nur eine Kurve aus obwohl ich jetzt mal alle 3 in einem Diagramm haben will... Des Weiteren gibt er mit nicht die Mittelwertkurve aus.
Hier mal mein Code:
Code:
x = data1(:,1); Die Zeit steht in der ersten Spalte bei beiden Datensätzen
y1 = data1(:,4); y 1 liegt im Datensatz 1 in Spalte 4 und es sollen alle eingelesen werden
y2 = data2(:,4); y 2 liegt im Datensatz 2 in Spalte 4 und es sollen alle eingelesen werden
mean_y = mean([y1;y2]); Berechnung des Mittelwertes aus beiden Datensätzen

 
clf;
hold on;
plot (x,y1),'b';
hold on;
plot(x,y2),'g';
hold on;
plot(x,mean_y),'r';
xlabel('Zeit [s]');
ylabel('Ölsumpftemperatur [°C]');


Hoffe einer weiß was da falsch ist....

Danke schon mal...
 
Willa
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 80
Anmeldedatum: 23.05.08
Wohnort: Bremen
Version: Willa v1.0
     Beitrag Verfasst am: 16.08.2008, 18:02     Titel:
  Antworten mit Zitat      
mean sollte so berechnet werden
Code:
mean_y = mean([y1 y2],2);


die farb angabe muss in der klammer sein:
Code:


Code:
muss nur einmal nach dem plotten des ersten graphs aufgerufen werden. Nach dem letzten graph muss
Code:
aufgerufen werden.
Private Nachricht senden Benutzer-Profile anzeigen
 
Dani

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2008, 19:00     Titel:
  Antworten mit Zitat      
Hi Willa, danke erstmal! Doch so wie du mir das jetzt beschrieben hast haut es leider nicht hin....
Mein Code sieht jetzt so aus:
Code:

x = data1(:,1);
y1 = data1(:,4);
y2 = data2(:,4);
mean_y = mean([y1 y2],2);
plot(x,y1,'b');
hold on,
plot(x,y2,'g');  
plot(x,mean_y,'r');
hold off
xlabel('Zeit [s]');
ylabel('Ölsumpftemperatur [°C]');


Als Fehlermeldung bringt er folgende Meldung:

??? Error using ==> horzcat
CAT arguments dimensions are not consistent.

Error in ==> Mittelwert at 4

Keine Ahnung was ich jetzt machen soll
mean_y = mean([y1 y2],2);
 
Dani

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2008, 19:29     Titel:
  Antworten mit Zitat      
Bin hier echt am verzweifeln. Will doch nur das Matlab die Mittelwerte von meinen 720000Zeilen von Data1 und Data2 bildet..... Den Plot kann ich danach ja noch selbst erstellen aber irgendwie rechnet er mir nicht jeden Mittelwert dieser 720000Zeilen aus!

Kann mir denn keiner helfen???? Sad
 
Willa
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 80
Anmeldedatum: 23.05.08
Wohnort: Bremen
Version: Willa v1.0
     Beitrag Verfasst am: 16.08.2008, 20:18     Titel:
  Antworten mit Zitat      
Matlab will dir mitteilen dass y1 und y2 nicht gleich viele Zeilen haben. Du kannst das so lösen:
Die Zeilen in y2 die y1 nicht hat (oder andersrum) fülle mit NaN's und benutze dann statt mean einfach nanmean.
Oder du löscht die überflüssigen Zeilen von Hand.
Viele Grüße,
William
Private Nachricht senden Benutzer-Profile anzeigen
 
dani

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.08.2008, 20:30     Titel:
  Antworten mit Zitat      
Cool es klappt!!! Vielen vielen DAnk!!!!!!
 
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.