I need to replace some values with NaN and some values with zeros
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi every one can help
in annexed figure I have table in left handside gives its corresponding curves and I want to replace some values in z1, z2, and z3 to be NaN and replace some values of zb to be zeros by using Matlab If -Condition ro get the right handside that gives the corresponding curves
Thanks in advance
M. Dahab
2 Kommentare
Arif Hoq
am 2 Feb. 2023
what is the condition?
if gBt >= any value
z1= ????
elseif gBt == any value
z2= ????
end
Antworten (1)
Voss
am 2 Feb. 2023
Bearbeitet: Voss
am 2 Feb. 2023
I've entered the values from your left-hand table into Excel and saved the attached xlsx file.
Read the file into a matrix and plot z1, z2, z3, and zb vs xc:
M = readmatrix('data.xlsx');
figure();
plot(M(:,1),M(:,3:end))
set(gca(),'YDir','reverse');
Modify the matrix by replacing certain elements with 0 or NaN:
% where gBt is not close to 0.808269 ...
idx = abs(M(:,2) - 0.808269) > 1e-6;
% ... replace z1, z2, z3 with NaN ...
M(idx,3:end-1) = NaN;
% ... and replace zb with 0
M(idx,end) = 0;
Plot again, with new M for comparison:
figure();
plot(M(:,1),M(:,3:end))
set(gca(),'YDir','reverse');
You can use similar steps on your data.
8 Kommentare
Voss
am 9 Feb. 2023
You can substitute "another value" you want to use in place of the NaN in the code above.
Siehe auch
Kategorien
Mehr zu NaNs finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!