String value and relate with number.

1 回表示 (過去 30 日間)
Akmyrat
Akmyrat 2014 年 5 月 26 日
コメント済み: Akmyrat 2014 年 5 月 26 日
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
rifat 2014 年 5 月 26 日
A=21;B=12;C=8;D=7;
W=['DABCD'];
Z=W(1:3);
string=[Z(1) '*' Z(2) '*' Z(3)];
eval(string)
  1 件のコメント
Akmyrat
Akmyrat 2014 年 5 月 26 日
thanks a lot Rifat. Appreciate your cooperation.

サインインしてコメントする。

その他の回答 (1 件)

Cedric
Cedric 2014 年 5 月 26 日
編集済み: Cedric 2014 年 5 月 26 日
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 件のコメント
Akmyrat
Akmyrat 2014 年 5 月 26 日
thanks a lot Cedric for answer. Yep i made mistake like that 8*21*12=2016.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by