Values are getting converted to double automatically.
10 views (last 30 days)
Show older comments
I have to load files having numbers in the filename. For example: CRH_0.5d_15.mat, 0.5d_15.mat. Following is the code I am using to access my files. The problem I am facing is, the values in the array are getting read as double type i.e. instead of b=0.5, it is taking b=0.5000. I tried using format short, but to no avail. Could someone help me with this? Thank you.
ab=[0.5,0.75,1,1.25,1.5,2] Ln= length(ab) for l=1:1:Ln b= ab(l) a= load('CRH_',num2str(b),'d_15'); end
4 Comments
Stephen23
on 29 Sep 2023
Changing the format controls how numeric values are displayed in the command window, it has nothing to do with functions like num2str. If you want to have more control over the format whilst converting to text then use sprintf or similar.
Answers (1)
James Tursa
on 29 Sep 2023
Here is what I get just displaying the character string. I inserted brackets [ ] for concatenation:
ab=[0.5,0.75,1,1.25,1.5,2];
Ln= length(ab);
for l=1:1:Ln
b= ab(l);
disp(['CRH_',num2str(b),'d_15']);
end
Maybe you just need the brackets [ ].
0 Comments
See Also
Categories
Find more on String in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!