Convert year data to month (40 years = 480 months) in rows

3 views (last 30 days)
Hi everyone!
I'm doing a research using Matlab and today it is my first month using it. However, I can't figure out how to solve my problem.
I have the estimate population for 40 years. The demand of water is calculated multiplying the population by the Galons per day. Each year's demand should by divided by 12 months which is multiplied for a factor.
For example:
Gallon per Day: 20;
Year: 2010...2040
Population: 500
Demand: 500 * 20 (Demand each year)
-
After this I should divide each year demand to 12 months and multiply by the month factor.
Ex:
Jan: Total year demand * 0.2 Feb: Total year demand * 0.8 ... Dec: Total year demand * 0 ---
After all calculations I should have an Array with 480 rows (40 years * 12 months) with every month value.
Ex:
Jan
.
.
Dez
Jan
.
The first thing that came to my mind is create a zeros(480,1) and replace it by the values.
So my question is, would someone just give me the way I should start? I don't know how to put all this answers in the same column.
  3 Comments
Felipe Michelin
Felipe Michelin on 25 Jun 2015
Edited: Felipe Michelin on 25 Jun 2015
First of all, thank you for the fast answers.
@Purushottama Rao
The factors are the same every year!
----
So, basically I import the population and factor data from Excel.
Population.pv = xlsread('data.xlsx','population','G3:G43');
factor = xlsread('prescott_data.xlsx','population','I3:I14');
What I need to do is create a variable "Demand" with 480 rows and calculate every month with their respective factor.
For example:
0 - (DemandYear2010/12 * factor.jan)
1 - (DemandYear2010/12 * factor.fev)
.
.
.
480 - (DemandYear2049/12 * factor.dez)
The "Population.pv" has 40 rows (2010 - 2050) and the "factor" has 12 (Jan - Dec)
If a drawing is better to understand I can do it!
Thank you so much!

Sign in to comment.

Accepted Answer

Mukul Rao
Mukul Rao on 26 Jun 2015
Edited: Mukul Rao on 26 Jun 2015
Why not represent the results in a 40 by 12 matrix instead? Each row of the matrix would represent the consumption for the 12 months in the year. Here is how you would do this, I've made up some numbers for the sake of illustration :
population = (1:40)'; % 40 by 1 array
factor = (0.1:0.1:1.2)'; %12 by 1 array
demandperhead = (1:40)'; %You can replace this by a scalar
...if the demand is constant with year
yearlycontribution = (demandperhead .* population)/12 * factor';
%If you still would prefer an array format
yearlycontribution_array = reshape(yearlycontribution',1,480);

More Answers (0)

Categories

Find more on Data Type Identification in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!