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.

 Akzeptierte Antwort

rifat
rifat am 26 Mai 2014

0 Stimmen

A=21;B=12;C=8;D=7;
W=['DABCD'];
Z=W(1:3);
string=[Z(1) '*' Z(2) '*' Z(3)];
eval(string)

1 Kommentar

Akmyrat
Akmyrat am 26 Mai 2014
thanks a lot Rifat. Appreciate your cooperation.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Cedric
Cedric am 26 Mai 2014
Bearbeitet: Cedric am 26 Mai 2014

1 Stimme

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 Kommentar

Akmyrat
Akmyrat am 26 Mai 2014
thanks a lot Cedric for answer. Yep i made mistake like that 8*21*12=2016.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 26 Mai 2014

Kommentiert:

am 26 Mai 2014

Community Treasure Hunt

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

Start Hunting!

Translated by