Representing a number as a matrix

Hi, I'm looking for how i would be able to seperate a number's digits and to then have these stored as a matrix. So for example if the number was 146, this would then be split such that matrix X = [1,4,6] Any help would be greatly appreciated. Thanks

 採用された回答

James Tursa
James Tursa 2011 年 2 月 26 日

1 投票

For a non-negative integral value:
>> x = 146
x =
146
>> num2str(x) - '0'
ans =
1 4 6
Do you also need to somehow process non-integral values, etc?

1 件のコメント

Alex
Alex 2011 年 3 月 4 日
Thanks. No I don't need to use non-intergrals at the moment, so that should be fine. Thanks again

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

その他の回答 (1 件)

Matt Fig
Matt Fig 2011 年 2 月 26 日

0 投票

One approach:
N = arrayfun(@str2num,sprintf('%i',146))
or (along the lines of James' answer)
N = sprintf('%i',146)-'0'

カテゴリ

ヘルプ センター および File ExchangeResizing and Reshaping Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by