Reputation: 160
I finished a long Matlab code, that works just perfect in Matlab. Now I'm trying to compile the app, to use it as an .exe file on other computers.
relevant code:
[FileName,PathName] = uigetfile('*.CSV','Select the data file');
delimiterIn = ',';
headerlinesIn = 11;
A = importdata(FileName,delimiterIn,headerlinesIn); % A becomes a 1x1 struct containing data, textdata and colheaders
the code imports a .CSV
file.
The uigetfile
works just fine, as I used [FileName,PathName]
. But at line 4 A = importdata(FileName,delimiterIn,headerlinesIn);
the code stops working an I get the following Error message:
Unable to open File.
Error in => name_of_my_program.m line 4
Any ideas how to solve this problem? I can't change much in the code, as the varibales A.data
and A.headliners
are used a lot in the code.
Did I use the importdata
function wrong? Does the importdata
function not work with compiled apps?
csvread
istead of importdata
does work, but as mentioned above, I'm looking for a solution, were I don't need to change all the variables in my long code. So the output got to be a 1x1 struct
containing A.data
, A.textdata
and A.colheaders
I use MATLAB R2017a and the Appliaction Compiler within
Upvotes: 0
Views: 138
Reputation: 5672
The compiled applicarion is probably not running in the same folder as your input file, so you should update your code to generate the full path filename using fullfile:
[FileName,PathName] = uigetfile('*.CSV','Select the data file');
delimiterIn = ',';
headerlinesIn = 11;
if FileName == 0; return; end
Filename = fullfile ( PathName, FileName );
A = importdata(Filename,delimiterIn,headerlinesIn); % A becomes a 1x1 struct containing data, textdata and colheaders
Upvotes: 2