String value and relate with number.

1 view (last 30 days)
Akmyrat
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.

Accepted Answer

rifat
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)
  1 Comment
Akmyrat
Akmyrat on 26 May 2014
thanks a lot Rifat. Appreciate your cooperation.

Sign in to comment.

More Answers (1)

Cedric
Cedric on 26 May 2014
Edited: Cedric 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.
  1 Comment
Akmyrat
Akmyrat on 26 May 2014
thanks a lot Cedric for answer. Yep i made mistake like that 8*21*12=2016.

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!