How to substract a value from each row in a cell in Matlab?

3 views (last 30 days)
I have a cell with dimension 41X41 as shown below
that has values equal to 1, it means all its values are equal to ones as shown below:
Based on many values, I could not include it here in one figure, but its dimension is 41 x 41.
What I was trying to do is calculate the number of ones in each row minus one as shown in the snippet of line code below:
ccc = sum(isSmaller{cc,:} == 1)-1
In order to get 1 row with 40 columns that have 40s. as shown below:
My problem is instead of 40 columns is still showing 41 columns as indicated below.
May I get assistance, please? I need it to be 1 row with 40 columns. After that, I need to sum all the 40s in this ccc = 1x40.
Below is my try:
for cc = 1:length(isSmaller)
ccc = sum(isSmaller{cc,:} == 1)-1
end
  2 Comments
Haitham AL Satai
Haitham AL Satai on 22 Sep 2022
@Soufian MELLAHI No dear sir, I do not care for the first 40 rows. This is because the cell will have zeros and ones later. Maybe later the last row will be ones and the row before the end zeros; in this case, I will lose a row with ones. I want to calculate the number of ones in each row, but by minus one, without specifying which row or column, the results will be a cell 1x40, all its values 40s.

Sign in to comment.

Answers (1)

Soufian MELLAHI
Soufian MELLAHI on 22 Sep 2022
Edited: Soufian MELLAHI on 22 Sep 2022
Hello, I think you misunderstand that the size of your table is 41 by dimension since it's square. I am not sure to understand your problem. Anyways if you want to fetch data from ii to jj you can just do it simply like : tmp=ccc(ii:jj);% tampon variable ccc=tmp;% retrieval of desired dimension you can just replace ii and jj by the indexes from where ypi want to extract data. For instance ii=1 & jj=40 to extract the first 40 elements of your row vector. I hope it answers your question

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by