Number to matrix
28 次查看(过去 30 天)
显示 更早的评论
Hello!
I am very new to MatLab. I am wondering, what is the simplest way to convert a 5-digit number into a matrix of those 5 digits.
Thanks,
3 个评论
回答(2 个)
Walter Roberson
2012-2-9
sprintf('%d', TheNumber) - '0'
is the simplest, but not the most efficient.
0 个评论
Benjamin Schwabe
2012-2-9
You can do that by simply using the following code:
p = 12345; % define your number
pstr=num2str(p);
n=length(pstr);
v=zeros(n,1);
for k=1:n
v(k)=str2double(pstr(k));
end
It will work for all integer numbers. For non Integer numbers, the "." will be transformed into 'NaN'.
2 个评论
Benjamin Schwabe
2012-2-9
Maybe some more details:
I convert the number to a string with num2str, then I take each character of the string and transfort it back to a number.
If you want to have a row vector instead of a column, just replace
v=zeros(n,1); by v=zeros(1,n);
Walter Roberson
2012-2-10
When you are dealing with single digits, subtracting the character '0' is much more efficient than str2double().
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!