My error is the ever popular ::::Error using fprintf Invalid file identifier. Use fopen to generate a valid file identifier. Error in pro1 (line 7) fprintf(fileID,'edges\t initial_nodes\t nodes_after_reduction\t difference \n')

5 vues (au cours des 30 derniers jours)
if g == 1
fileID = fopen('output2\cycle_graph_output.txt','w')%Creates a output text file in folder output2
fprintf(fileID,'edges\t initial_nodes\t nodes_after_reduction\t difference \n')
myfolderinfo = dir('cycle_graph') ; %lists folder contents
N = length(myfolderinfo) ;
so the code is working perfectly when i'm using the Matlab in my local system.
But its generating the error when i tried to run it on Matlab online. What changes can i make to make it work on Matlab online

Réponses (1)

Walter Roberson
Walter Roberson le 16 Mar 2020
MATLAB Online does not use MS Windows; it uses Linux. The directory separator is / not \
MS Windows is happy to use / instead of \ so you should just change the \ to /
Better yet, use fullfile()
... And of course make sure you have a directory named output2 relative to where you are running the code.
  6 commentaires
Steven Lord
Steven Lord le 19 Mar 2020
Call fopen with two outputs and show us both the output values that get displayed when you run that code in MATLAB Online.
Walter Roberson
Walter Roberson le 19 Mar 2020
fileID = fopen('cycle_graph_output4.txt','w')%Creates a output text file
would be expected to display a number as well as creating the output file. If the number is negative then file creation failed; if the number is positive then file creation worked.
On MATLAB online, what shows up if you execute this command:
!pwd; ls -ld .; whoami
Note that the ! at the beginning is part of the command.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Low-Level File I/O dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by