Info
この質問は閉じられています。 編集または回答するには再度開いてください。
what does this code do ?
    3 ビュー (過去 30 日間)
  
       古いコメントを表示
    
   r1=r1(:,1:length(r1)-1)
0 件のコメント
回答 (1 件)
  Adam
      
      
 2015 年 12 月 10 日
        
      編集済み: Adam
      
      
 2015 年 12 月 10 日
  
      It removes the last element of r1 in a rather over the top manner. Basically the same as:
r1(end) = [];
if r1 is a vector.
Edit:
As pointed out by John D'Errico below and added here to correct the answer, since r1 is a matrix rather than a vector
r(:,end) = [];
is the way to achieve the equivalent and remove the final column as oppose to just the final element as the example above would do for a vector.
See John's comment below for more detail.
2 件のコメント
  John D'Errico
      
      
 2015 年 12 月 10 日
				
      編集済み: John D'Errico
      
      
 2015 年 12 月 10 日
  
			Be careful. The indicated code from the OP deletes the last column of a matrix, or if it is a row vector, the final element. I do agree that the operation was done in an over-the-top manner.
r = magic(3)
r =
   8     1     6
   3     5     7
   4     9     2
r(end) = []
r =
     8     3     4     1     5     9     6     7
If your goal is to actually remove the last column of a matrix, you would be better off doing it like this:
r = magic(3);
r(:,end) = []
r =
     8     1
     3     5
     4     9
この質問は閉じられています。
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


