for i =1:N
fx =[ 'C:\Users\SC23M048-BABARMALIKM\Downloads\Abaqus\Hierarchical composite\aax1\jjx' num2str(i) '.txt'];
fy =[ 'C:\Users\SC23M048-BABARMALIKM\Downloads\Abaqus\Hierarchical composite\aay1\jjy' num2str(i) '.txt'];
fu =[ 'C:\Users\SC23M048-BABARMALIKM\Downloads\Abaqus\Hierarchical composite\aau11\jju1' num2str(i) '.txt'];
fv =[ 'C:\Users\SC23M048-BABARMALIKM\Downloads\Abaqus\Hierarchical composite\aau21\jju2' num2str(i) '.txt'];
x = textfile(fx);
y = textfile(fy);
z1 = textfile(fu);
z2 = textfile(fv);
U1 = griddata(x,y,z1,K1,K2);
U2 = griddata(x,y,z2,K1,K2);
zz1 = U1+zz1;
zz2 = U2+zz2;
i ;
end
Error using fscanf
Invalid file identifier. Use fopen to generate a valid file identifier.
value= fscanf(fileID,'%f');
this is the error i'm getting

댓글 수: 6

Ayush Aniket
Ayush Aniket 2024년 6월 13일
It seems the error originates in the process of opening files. Can you share the textfile function you are using?
Mohd Babar
Mohd Babar 2024년 6월 13일
i have atteched all the files, code also
Ayush Aniket
Ayush Aniket 2024년 6월 13일
It's working fine on my end. Make sure that the file path (i.e. 'fx' and so) actually has the text files. You can try debugging for one of the files by just providing its path to the textfile function and see if you get the error or not.
Mohd Babar
Mohd Babar 2024년 6월 13일
편집: Mohd Babar 2024년 6월 13일
I have checked it many times but it's showing same error, Did you make any changes to this code, if you did can you share yours
Ganesh
Ganesh 2024년 6월 13일
I wonder how your files are structured.
In your question your directory is named "aax1" but you have uploaded ".txt" files with the same name. The "code final.txt" does not have any file of the format "aa.." at all.
You can send the folder structure so we could get a better idea of what you need to access.
Mohd Babar
Mohd Babar 2024년 6월 14일
i have atteched the final code live script

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

 채택된 답변

Shivani
Shivani 2024년 6월 13일
편집: Shivani 2024년 6월 13일

1 개 추천

The error you're encountering is due to an attempt to read from a file without properly opening it first. In MATLAB, before you can read from a file, you need to open it using fopen, which returns a file identifier. This file identifier is then used with functions like fscanf, fgets, or fread to read from the file. After you're done with the file, it's important to close it using fclose to free up system resources.
You can read about these functions by accessing the following MATLAB documentation link: https://www.mathworks.com/help/matlab/ref/fscanf.html
In the code snippet shared above, you are using 'textfile' as a user-defined function to read the file contents. It is likely that the file identifier in the function is not being opened or closed correctly, leading to this error. The below code snippet shows an example of how the 'textfile()' function can be implemented:
function value = textfile(filename)
fileID = fopen(filename, 'r');
if fileID == -1
error('Failed to open file: %s', filename);
end
value = fscanf(fileID, '%f');
fclose(fileID);
end

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Low-Level File I/O에 대해 자세히 알아보기

태그

질문:

2024년 6월 13일

댓글:

2024년 6월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by