Azzera filtri
Azzera filtri

How to retrieve first 4 digits after decimal point?

12 visualizzazioni (ultimi 30 giorni)
I have to retrieve first 4 digits after decimal point in HH band of the following code:
img = imread('cameraman.tif');
a = img(1:8,1:8);
[LL,LH,HL,HH] = dwt2(a,'db4');
Moreover, how can I fetch more than 4 digits (after decimal) in the same HH band ?

Risposta accettata

Star Strider
Star Strider il 4 Dic 2019
One approach:
x = pi
AfterDecimal = rem(x,1)
FirstFour = fix(AfterDecimal*1E+4)*1E-4
producing:
x =
3.141592653589793
AfterDecimal =
0.141592653589793
FirstFour =
0.141500000000000
  2 Commenti
Abdul Gaffar
Abdul Gaffar il 4 Dic 2019
Thanks, and how to retrieve last 4 digits?
Star Strider
Star Strider il 4 Dic 2019
The easiest way to do that is to convert it to a character array and index the last four digits, then convert it back to a numerical variable:
xstr = num2str(AfterDecimal,15);
LastFour = str2double(xstr(end-3:end))
producing:
LastFour =
9793
Experiment to get different results.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Matrices and Arrays 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