Azzera filtri
Azzera filtri

being equal two matrics contaning NaNs and numbers smaller than 1

2 visualizzazioni (ultimi 30 giorni)
Hi all,
I have two matrics e.g. "a" & "b", which contains some "NaN" elements and numbers less than 1.
a=[NaN 0.4539 0.4532; NaN 0.4536 NaN]; b=[NaN 0.4533 0.4538; NaN 0.4531 NaN];
I want to see if "a" and "b" are equal with NaNs values ? the desired decimal places is 3.
How can I write such program?
thanks in advance,

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 2 Ott 2012
Modificato: Azzi Abdelmalek il 2 Ott 2012
a=round(a*1000)/1000;
b=round(b*1000)/1000;
a(isnan(a))=0;
b(isnan(b))=0;
test=all(all((a==b)))
% if test =1 then a=b
  4 Commenti
Azzi Abdelmalek
Azzi Abdelmalek il 2 Ott 2012
the answer isequalwithequalnans(a,b) was suggested and deleted.
Teja Muppirala
Teja Muppirala il 3 Ott 2012
Recent versions now have the ISEQUALN function, which is exactly the same thing as ISEQUALWITHEQUALNANS except the name is much easier to type.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by