How can I assign numeric values to strings in an array?

27 次查看(过去 30 天)
I need to assign specific values to some of these chemical species in an array. I need to set RH equal to 100, OH = 100, and NO = 100 and the rest of the species are equal to 0. The array of species looks like this:
SpeciesName =
'RH'
'OH'
'RO2'
'H2O'
'NO'
'NO2'
'RCHO'
'HO2'
'HNO3'
'H2O2'
'O2'
'ROOH'
'hv'
'O3'

采纳的回答

Thorsten
Thorsten 2016-7-8
You can use a structure
S = struct('Name', {{'RH' 'OH' 'RO2' 'H20'}}, 'Value', [100 100 0 0])

更多回答(1 个)

Stephen23
Stephen23 2016-7-8
编辑:Stephen23 2016-7-8
SpeciesName = {
'RH'
'OH'
'RO2'
'H2O'
'NO'
'NO2'
'RCHO'
'HO2'
'HNO3'
'H2O2'
'O2'
'ROOH'
'hv'
'O3'};
C = SpeciesName';
C(2,:) = num2cell(zeros(size(C)));
C(2,1:2) = {100};
S = struct(C{:});
And accessing the data in the structure is trivial:
>> S.O2
ans =
0
>> S.RH
ans =
100
>> S.NO
ans =
0

类别

Help CenterFile Exchange 中查找有关 Cell Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by