ich bin gerade mitten in meiner bachelor-arbeit und bin auf ein problem gestossen, das ich auch in anderen sprachen nicht lösen konnte (meine programmierkentnisse sind noch nicht so weit gediehen).
es geht um folgendes: im habe ein text file das wie folgt aussieht:
1900.12 2.53
1900.12 2.45
1900.12 5.56
1905.34 1.39
1905.34 6.43
ich möchte nun, dass mir matlab von der rechten spalte den durchschnitt der werte berechnet, die zum jeweiligen jahr gehören und es mit dem jahr wieder ausspuckt:
1900.12 3.51 (=2.53+2.45+5.56/3)
1905.34 3.91
kann mir jemand sagen, wie ich das programmieren kann? wahrscheinlich mit arrays und so...
ich danke euch von herzen wenn ihr mir helfen könnt!!
% string als Kommazahlen auslesen und zeilenweise trennen
val=textscan(str,'%f %f','delimiter','\n');
% [d_val, n_val]=deal(val{:});
% unikate von jahren finden
un_val=unique(d_val);
% mean vector initialisieren
m_val=zeros(length(un_val),1);
%
% 1) in der Schleife positionen von Jahresaufkommen finden % 2) mean bilden % 3) Ausgeben for i=1:length(un_val)
idx = d_val==un_val(i);
m_val(i) = mean(n_val(idx));
fprintf('%g %g\n',un_val(i),m_val(i));
end
% unikate von jahren finden
un_val=unique(d_val);
% mean vector initialisieren
m_val=zeros(length(un_val),1);
%
% 1) in der Schleife positionen von Jahresaufkommen finden % 2) mean bilden % 3) Ausgeben for i=1:length(un_val)
idx = d_val==un_val(i);
m_val(i) = mean(n_val(idx));
fprintf('%g %g\n',un_val(i),m_val(i));
end
als ich es heute morgen ausprobiert habe, hat alles tadellos funktioniert!
danke nochmals!
bgrob
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
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.