MATLAB: Deleting NaN`s from a set of values using if loop

deleting nan`sMATLAB

I want to delete the NaN`s from A so that am left with numbers only and store them in the Absorption vector . When i execute/run my code it gives me the first value only(18.3402) and does not return the other values and sometimes it returns A as it is without removing NaN`s. please help
A=18.3402
18.3310
17.9390
16.1418
18.1064
22.6005
16.9847
22.5273
22.1760
16.8471
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
z = "NaN";
DeleteValues = strcmp(A,z );
Absorption = A(~DeleteValues)

Best Answer

A = [18.3402
18.3310
17.9390
16.1418
18.1064
22.6005
16.9847
22.5273
22.1760
16.8471
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN];
A(isnan(A)) = [];
Result:
A =
18.3402
18.3310
17.9390
16.1418
18.1064
22.6005
16.9847
22.5273
22.1760
16.8471