sumVariables
Description
cs = sumVariables(
returns the weighted sum of variables in the cs
,variables
,Name=Value
)climateScenario
object, cs
, and appends the new variable to the property
cs.IdentifierValues.Variable
. Use the NewVariable
name-value argument to specify the name of the new variable.
Examples
Compute the weighted sum of climate scenario variables contained in a climateScenario
object. The climate transition scenario data that this example uses is available from the Bank of Canada and is free of charge at http://www.bankofcanada.ca.
Load the data.
load("BankOfCanadaClimateScenarioData.mat")
data = ClimateTransitionScenarioData;
head(data)
k CL_GEOGRAPHY CL_SECTOR CL_VARIABLE CL_UNIT CL_SCENARIO CL_YEAR CL_VALUE _ ____________ _________ _______________________________ ___________________ ________________________ _______ ________ 1 Canada National Carbon price US$2014/tCO2e Baseline (2019 policies) 2020 12.106 2 Canada National Carbon price US$2014/tCO2e Below 2°C immediate 2020 12.106 3 Canada National Emissions | total GHG (scope 1) Million tonnes CO2e Baseline (2019 policies) 2020 781.04 4 Canada National Emissions | total GHG (scope 1) Million tonnes CO2e Below 2°C immediate 2020 781.04 5 Canada National Input price | Coal Index (2014 = 1) Baseline (2019 policies) 2020 1.2875 6 Canada National Input price | Coal Index (2014 = 1) Below 2°C immediate 2020 1.2875 7 Canada National Input price | Crops Index (2014 = 1) Baseline (2019 policies) 2020 1.0031 8 Canada National Input price | Crops Index (2014 = 1) Below 2°C immediate 2020 1.0031
Create a climateScenario
object.
cs = climateScenario(data, ... RegionVar="CL_GEOGRAPHY", ... VariableVar="CL_VARIABLE", ... ScenarioVar="CL_SCENARIO", ... YearVar="CL_YEAR", ... ValueVar="CL_VALUE", ... CustomIdentifiers="Sector", ... CustomIdentifierVars="CL_SECTOR", ... UnitVar="CL_UNIT");
Specify the variables you want to add.
variables = ["Capital expenditure", "Direct emissions costs", "Indirect costs"];
Use sumVariables
by specifying the Weights
, NewVariable
, and NewUnit
name-value arguments.
cs = sumVariables(cs,variables,Weights=[1,2,1],NewVariable="Total costs",NewUnit="10 BN USD");
To see the new variable, Total costs
, display the property cs.IdentifierValues.Variable
.
tail(cs.IdentifierValues.Variable)
Secondary Energy | Electricity| Nuclear Secondary Energy | Electricity| Oil Secondary Energy | Electricity| Wind&Solar US GDP US inflation Y/Y US policy rate a.r. Unemployment rate Total costs
Input Arguments
Climate scenario object, specified as a climateScenario
object.
Variables for summation, specified as a string vector.
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Example: cs = sumVariables(cs,["Capital expenditure","Direct emissions
costs","Indirect costs"],Weights=[1,2,1],NewVariable="Total costs",NewUnit="10 BN
USD",Sector="Oil")
returns the weighted sum of capital expenditure, direct
emissions costs, and indirect costs for the oil sector, in a new variable, Total
costs.
Region identifier values, specified as a string vector. By default, all the
regions are returned if you do not specify a string vector for
Region
.
Scenario identifier values, specified as a string vector. By default, all the
scenarios are returned if you do not specify a string vector for
Scenario
.
Year identifier values, specified as a numeric vector. By default, all the years
are returned if you do not specify a numeric vector for
Year
.
Weights for summation, specified as a numeric vector. The length of
Weights
must match the length of
variables
.
New variable name, specified as a string scalar. If you do not specify the new
variable name, NewVariable
defaults to combining the elements of
variables
with plus signs.
Names of custom identifiers, specified as a string vector containing values of
cs.CustomerIndentifiers
. CustomIdentifers
must
match an identifier property contained in cs.CustomIdentifiers
. For
example, if "Sector"
is a custom identifier for the property
cs.CustomIdentifier
, then cs = sumVariables(cs,["Capital
expenditure","Direct emissions costs","Indirect
costs"],Weights=[1,2,1],NewVariable="Total costs",NewUnit="10 BN
USD",Sector="Oil")
computes the weighted sum of capital expenditure,
direct emissions costs, and indirect costs for the oil sector.
Version History
Introduced in R2025a
See Also
climateScenario
| plot
| query
| groupRegions
| divideVariables
| shockVariables
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)