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

Mittelwertmatrix aus cell-array von Matrizen

 

Mpet90

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.07.2016, 17:37     Titel: Mittelwertmatrix aus cell-array von Matrizen
  Antworten mit Zitat      
Hallo zusammen,

Ich habe jetzt schon viel über meannan in cell arrays gelesen, aber komme mit den Vorschlägen einfach nicht weiter. Folgendes Problem.

Ich habe:
lat 128x1 single
lon 248x1 single
U 1x365 cell mit 248x128 double
V 1x365 cell mit 248x128 double

Was ich daraus machen will, ist ein mittleres Strömungsfeld mit:
Code:
m_quiver(lon,lat,Umean,Vmean,'r')


Wie bekomme ich aus den beiden cell arrays U und V nun vernünftige Mittelwertmatrixen heraus?

Mache ich
Code:
Umean = cellfun(@mean, U,'UniformOutput',false);

bekomme ich ein 1x365 cell mit 1x128 double, in denen nur NaNs drinstehen.

Mache ich
Code:

cell_length = length(U);
Umean=zeros(cell_length,1);
for i=1:cell_length
Umean(i,:)=mean(U{i});
end

bekomme ich die Fehlermeldung: Assignment has more non-singleton rhs dimensions than non-singleton subscripts. Diese verstehe ich allerdings nicht.

Hat jemand einen hilfreichen Tipp für mich?

Hier ein wenig Code mehr, falls benötigt:
Code:


%% 01. load data

load SPNA_data_uv_2014.mat

%% 02. calculate mean u and mean v for year 2014

Umean =
Vmean =

%% 03. draw map displaying the data for the region of interest

figure

set(gcf,'color','white')

m_proj('mercator','lon',lon_area,'lat',lat_area);
[lat,lon]=meshgrid(lat,lon);

hold on
shading flat

% add bathymetric lines

m_tbase('contour',[-4000:1000:-1000],'color','k');

% add arrows

m_quiver(lon,lat,Umean,Vmean,'r');

% add land mask

m_gshhs_i('patch',[0.5,0.5,0.5],'linewidth',0.1)
m_grid('box','fancy','tickdir','out','xtick',[lon_area(1):10:lon_area(2)],'ytick',[lat_area(1):5:lat_area(2)]);

% make colors slightly brighter

brighten(0.3)

% correct a bug in M_Map (otherwise figure is white)

showmmap


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.07.2016, 23:45     Titel:
  Antworten mit Zitat      
Hallo,

Code:
U3 = cat(3, U{:});
Uavg = mean(U3, 3, 'omitnan');


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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.07.2016, 08:09     Titel:
  Antworten mit Zitat      
Guten Morgen!

Vielen, Vielen Dank!

Der cat-Befehl ist mir ja noch nie untergekommen...
 
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 - 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.