Convert 3 dimensional matrix to vector (rows to columns)

37 visualizaciones (últimos 30 días)
Hi I have a 3 dimensional matrix that I am trying to convert the rows to columns and then stack all the columns to generate a vector that will have the three dimensions. I am struggling with the coding of this
So far I have
PV_power_output(:,:,K) = real((Vmpp_(:,:,K).*Impp_(:,:,K))*inverter_efficiency)/1000; % Power output in kW
PV_energy(:,:,K) = sum(sum(PV_power_output(:,:,K))) ; % Energy output in kWh
PV_rows_to_columns(:,:,K) = PV_power_output(:,:,K)';
PV_power_output is a 365x24x3 matrix and I am trying to convert it to a 8760x1x3 vector
Thanks

Respuesta aceptada

Thomas
Thomas el 20 de Jun. de 2012
doc reshape
out = reshape(PV_power_output,8760,1,3);
Warning: read the reshape help document thoroughly as it does columnwise reshape..
  12 comentarios
Andrew Alkiviades
Andrew Alkiviades el 20 de Jun. de 2012
What does the (1:2) represent?
Walter Roberson
Walter Roberson el 20 de Jun. de 2012
Sorry should be
permdims([1 2]) = permdims([2 1]);
These are indices into permdims, which in turn is 1 to the dimension number, so the result is to get
[2 1 3 4 5 6 .... dimension number]

Iniciar sesión para comentar.

Más respuestas (1)

Andrew Alkiviades
Andrew Alkiviades el 20 de Jun. de 2012
I have managed to get it working for K = 1
I have transposed the matrix then stacked the columns. However, I need to code for the three sets of matrices - at the moment I can only access K = 1 Does anyone have any ideas on how to modify the code for the K = 2 and 3?
PV_power_output(:,:,K) = real((Vmpp_(:,:,K).*Impp_(:,:,K))*inverter_efficiency)/1000; % Power output in kW
PV_energy(:,:,K) = sum(sum(PV_power_output(:,:,K))) ; % Energy output in kWh
PV_out(:,:,K) = [real((Vmpp_(:,:,K).*Impp_(:,:,K))*inverter_efficiency)/1000]'; % Power output in kW
out = PV_out(:);

Categorías

Más información sobre MATLAB en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by