How can i cut the element in matrix?
    4 views (last 30 days)
  
       Show older comments
    
I want to cut the element in matrix. if i have a matrix like [ 110000111 ] (1x1) i want to make this [ 11 ; 0000 ; 111 ] (3x1) is this possible? If you can only cut it to a certain size, it's okay. like [110000111] to [110 ; 000 ; 111] that's okay too. thks :-)
1 Comment
  Walter Roberson
      
      
 on 22 Nov 2016
				What is the data type of your input matrix? What is the expected data type of the output matrix?
Answers (3)
  bio lim
      
 on 29 Nov 2016
        a=[110000111];
b=str2double(regexp(num2str(a),'\d','match'))
count = 1;
for i = 1:3
result(i) = str2num(strcat(num2str(b(count)),num2str(b(count+1)),num2str(b(count+2))));
count = count + 3;
end
result = result'
result =
     110
       0
     111
Since result is double it is not displayed as 000, but 0.
If you keep it as a string without the str2num, then, something like:
result{i} = strcat(num2str(b(count)),num2str(b(count+1)),num2str(b(count+2)));
result = 
      '110'
      '000'
      '111'
0 Comments
  Walter Roberson
      
      
 on 29 Nov 2016
        In the special case where you are working with a string
 S = '110000111';
 result = regexp(S, '(.)(\1*)(?!\1)', 'match');
0 Comments
See Also
Categories
				Find more on Logical 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!


