Can I perform subtraction using cell arrays?

15 visualizaciones (últimos 30 días)
Yao
Yao el 13 de Oct. de 2012
Hi all,
I have 2 sets of numbers which i would like to subtract them and compare their values and perform a counter loop.
Is there any function I can make use of to do that? Thanks
for example I have these 2 sets of numbers which I need to subtract each value and compare:
filteredAreaSample =
3594 3627 3626 3625 3610
filteredAreaStudent =
3648 3621 3613 3620 3626
  1 comentario
Matt J
Matt J el 14 de Oct. de 2012
Editada: Matt J el 14 de Oct. de 2012
It really doesn't make sense for you to maintain data like this in cell arrays. Data like this can be held in simple matrices, making them very simple (and CPU optimized) to subtract
Differences = filteredAreaSample - filteredAreaStudent
Cell arrays are meant mainly for situations where you have arrays of different sizes or types, e.g.,
mycell={rand(5), eye(3),'dog','cat'},
or when you want to perform comma-separated list operations, e.g.,
[A,B,C,D]=deal(mycell{:});

Iniciar sesión para comentar.

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 14 de Oct. de 2012
Editada: Azzi Abdelmalek el 14 de Oct. de 2012
A ={ 3594 3627 3626 3625 3610}
B ={ 3648 3621 3613 3620 3626}
res=cellfun(@(x,y) y-x,A,B)
  10 comentarios
Yao
Yao el 14 de Oct. de 2012
Hi sir, i tried your method and it works.
Thank you so much for your help.
Lets say if I want to build a counter that says if res is larger then 100; add 1 if res is smaller then 100 add 0, how should I do it? In this case, the output are all zeros, so I should show my results as 20. Thanks again for your help
out = Difference >100
out =
Columns 1 through 12
0 0 0 0 0 0 0 0 0 0 0 0
Columns 13 through 20
0 0 0 0 0 0 0 0
Azzi Abdelmalek
Azzi Abdelmalek el 14 de Oct. de 2012
Editada: Azzi Abdelmalek el 14 de Oct. de 2012
Can you be more clear, you have your array Difference, what test do you want to do? And I think you should accept the answer that correspond to your expectation then post another question.

Iniciar sesión para comentar.

Más respuestas (1)

Wayne King
Wayne King el 13 de Oct. de 2012
Editada: Wayne King el 13 de Oct. de 2012
out = cellfun(@minus,filteredAreaSample,filteredAreaStudent);
  1 comentario
Yao
Yao el 14 de Oct. de 2012
Hi Sir,
I got this error "Function name must be a string."

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by