MATLAB: How to use tril function on only specific columns in a large matrix

matrix manipulationtril

So I have a very large matrix (31413 rows, 950 columns). I want to use the tril function on columns 2 till 10, and then from 12 to 20, and then from 22 to 30, and so on until the end of columns.
I need something like this
[col1 col2…col10 col11 col12…col20 col21 col22…col30 and so on]
where the columns in between have tril function used on them.
Is there any way I can do this??

Best Answer

Hi Zuha,
You can use a for loop as below and it does what is required:
m = rand(31413,950);
for i = 2:10:size(m,2)
m(:,i:i+8) = tril(m(:,i:i+8));
end
Hope this helps.
Regards,
Sriram