# String value and relate with number.

8 views (last 30 days)
Akmyrat on 26 May 2014
Commented: Akmyrat on 26 May 2014
lets say i have A=21,B=12,C=8,D=7 and Matrix with string value W=['DABCD'], and now lets say when i write: Z=W(1:3) which will give result DAB string from W. and i want that to be multiplication of D*A*B which is equal to 2016.

rifat on 26 May 2014
A=21;B=12;C=8;D=7;
W=['DABCD'];
Z=W(1:3);
string=[Z(1) '*' Z(2) '*' Z(3)];
eval(string)
Akmyrat on 26 May 2014
thanks a lot Rifat. Appreciate your cooperation.

Cedric Wannaz on 26 May 2014
Edited: Cedric Wannaz on 26 May 2014
Here is one solution. Assuming
W = ['DABCD'] ;
Define
values = [21, 12, 8, 7] ; % or values = [A, B, C, D] ;
Z = @(id) prod( values(W(id)-64) ) ; % Function lookup/prod.
Then you can use Z as a function, which works using the same syntax as the indexing used in your question statement:
>> Z(1:3)
ans =
1764
Note that 7*21*12 = 1764 and not 2016.
Akmyrat on 26 May 2014
thanks a lot Cedric for answer. Yep i made mistake like that 8*21*12=2016.