필터 지우기
필터 지우기

Values are getting converted to double automatically.

조회 수: 10 (최근 30일)
Madhurima Reddy
Madhurima Reddy 2023년 9월 29일
댓글: Stephen23 2023년 9월 29일

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
Madhurima Reddy
Madhurima Reddy 2023년 9월 29일

The file is getting read as CRH_0.5000d_15.mat, when it should be just CRH_0.5d_15.mat. Because of that, I am getting error saying file is not available in folder.

Stephen23
Stephen23 2023년 9월 29일

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.

댓글을 달려면 로그인하십시오.

답변 (1개)

James Tursa
James Tursa 2023년 9월 29일
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
CRH_0.5d_15 CRH_0.75d_15 CRH_1d_15 CRH_1.25d_15 CRH_1.5d_15 CRH_2d_15
Maybe you just need the brackets [ ].

카테고리

Help CenterFile Exchange에서 Migrate GUIDE Apps에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by