transform exponential number to decimal
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Alberto Acri
el 11 de Sept. de 2023
Respondida: Steven Lord
el 11 de Sept. de 2023
Hi. I have the following cell:
M1 = importdata("M1.mat");
A = compose('%d (%2d%%)', [M1(:,1), M1(:,2)]);
How can I turn exponential numbers (inside the brackets) into decimal numbers?
0 comentarios
Respuesta aceptada
David Hill
el 11 de Sept. de 2023
M1 = importdata("M1.mat");
A = compose('%d (%3.2f%%)', [M1(:,1), M1(:,2)])
0 comentarios
Más respuestas (1)
Steven Lord
el 11 de Sept. de 2023
Use a different format specifier. The second column of your data doesn't contain integer values, so using %d for that column is not the right thing to do. Let's try %g instead and specify that you want three significant figures. See the documentation for the formatSpec input argument to the compose function for more information about the different format specifiers you can use.
% Sample data
M1 = [81, 6.18; 82, 7.51; 83, 9.03; 84, 10.2]
S = compose("%d (%3g%%)", M1)
FYI while your result was stored in a cell array, I used double quotes in my call to the compose command to create a string array instead.
0 comentarios
Ver también
Categorías
Más información sobre System Composer en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!