I was trying to write a code where I can ask the user to choose the number of decimal he/she wants to use when calculating the min or max of vector. But I am really stuck
I was trying to do what below but it doesn't work.
decimal = input('Type the number of decimals places to show in output:');
vector = [23 28 4.29 40.2 8];
min_ = min(Vector);
fprintf('\nMininum: %0.(%0.f)f',min_,decimal);

Antworten (2)

Walter Roberson
Walter Roberson am 13 Nov. 2016

1 Stimme

decimal = input('Type the number of decimals places to show in output:');
vector = [23 28 4.29 40.2 8];
min_ = min(Vector);
fprintf('\nMininum: %0.*f', decimal, min_);
The * in the format signals that the number of decimal places should be extracted from the parameters.

1 Kommentar

the cyclist
the cyclist am 13 Nov. 2016
Nice. Was unaware of that functionality (and missed it when I scanned the documentation).

Melden Sie sich an, um zu kommentieren.

the cyclist
the cyclist am 12 Nov. 2016

0 Stimmen

I don't know if you can get the formatSpec itself as an input, so instead you can embed the formatSpec as a separate call to sprintf:
decimal = input('Type the number of decimals places to show in output:');
vector = [23 28 4.29 40.2 8];
min_ = min(vector);
fprintf(['\nMininum: %0.',sprintf('%d',decimal),'f\n'],min_);

Kategorien

Mehr zu Matrices and Arrays finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 12 Nov. 2016

Kommentiert:

am 13 Nov. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by