# How to apply a relational operator on a cell in MATLAB?

4 visualizzazioni (ultimi 30 giorni)
Haitham AL Satai il 20 Set 2022
Commentato: Haitham AL Satai il 20 Set 2022
I would like to know the number of values that are less than 0.0038 in a cell of 41 X 41 double.
For example, I have the cell below:
B = num2cell(rand(41));
When I applied such condition
sum(A(:) < 0.0038)
, it gave me an error, which is Operator '<' is not supported for operands of type 'cell'.
So, do I need to convert the cell to a matrix and apply the operation? Or is there any specific way to use this condition on the cell directly?
##### 2 CommentiMostra NessunoNascondi Nessuno
Stephen23 il 20 Set 2022
B = num2cell(rand(41));
Why use such an inefficient approach to storing numeric data?
Most likely your task would be much simpler if you used a numeric array.
Star Strider il 20 Set 2022
Or is there any specific way to use this condition on the cell directly?
Yes.

Accedi per commentare.

### Risposta accettata

Star Strider il 20 Set 2022
Use the cellfun and nnz functions —
B = num2cell(rand(41));
A = nnz(cellfun(@(x)x<0.0038, B))
A = 5
.
##### 4 CommentiMostra 2 commenti meno recentiNascondi 2 commenti meno recenti
Star Strider il 20 Set 2022
@Haitham AL Satai — My pleasure!
@Stephen23 — Thank you!
Haitham AL Satai il 20 Set 2022
@Stephen23 Thank you for your notice. I got it now. Thank you again.

Accedi per commentare.

### Categorie

Scopri di più su Correlation and Convolution in Help Center e File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by