This is one in a series of videos covering MATLAB basics. It is meant for the new MATLAB user.
This video covers how to use row and column notation to be able to pull a subset of data from a larger matrix. This is a basic skill that is required for anyone that is going to use MATLAB. This particular type of indexing is less intuitive than the mat(row,col) indexing, it deals with using a single value as an index into a matrix like mat(ind) and mat([0 1 0 0 1]). These are also very important techniques for indexing into MATLAB.
Doug, in the RSS feed of your blog, read in internet explorer 7, the videos never show. I don’t mean they don’t run, there are just lines of text with a single blank line where the videos should be. Is there a way to fix this?
Thanks,
naor (win32xp r2006a)
Hi Doug,
I saw your video and I have a question, when I use “find” with a matrix with X,Y,Z or logical for extract valor from ranges, the new matrix is always a column vector and I need this matrix in similar format (x,y,z), how can I do?
Please let me know,
Thanks,
RM
Doug, in the RSS feed of your blog, read in internet explorer 7, the videos never show. I don’t mean they don’t run, there are just lines of text with a single blank line where the videos should be. Is there a way to fix this?
Thanks,
naor (win32xp r2006a)
Hi Doug, very clear video, however, is it possible to do logical indexing directly to a submatrix, eg:
data=zeros(10,10,10);
here data(:,:,5) could be slice.
now let
mask=zeros(10,10);mask(5:5,8:8)=1;
Is it possible to use this mask to logically index the submatrix data(:,:,5)?
slice = data(:,:,5);
and then accessing slice(mask) is possible. But can this not be done directly, without extracting ‘slice’?
Thanks
Dennis
It will be required to pull out the intermediate values to use that logical matrix or you will need to do some other indexing method.
Doug
Hi Doug,
I saw your video and I have a question, when I use “find” with a matrix with X,Y,Z or logical for extract valor from ranges, the new matrix is always a column vector and I need this matrix in similar format (x,y,z), how can I do?
Please let me know,
Thanks,
RM
@ronny
>> a = [2 0 3; 0 4 0] a = 2 0 3 0 4 0 >> b = (a>1) b = 1 0 1 0 1 0 >> c = find(a>1) c = 1 4 5Try this. If you must use find, you could always make a zeros matrix of the same size and set the indices that you find to 1.