HELP with Undefined variable, size of the indicated variable changes with each loop iteration.
显示 更早的评论
Hello, i have been running a code during some time and it worked. However now, i am trying to run it and it does not run because of this error message:
??? Undefined function or variable 'files'.
Error in ==> after_all at 20 coord = regexp(files,'\d+(\.\d+)?','match'); % It extracts the coordinates from the name of each file
The problem is the variable files (The size of the indicated variable or array appears to be changing with each loop iteration) it says...
Can anyone help me, please?
This is my code:
clear all; % clear all variables
close all; % close all plot windows
clc; % clear the command window
workfolder='C:\Users\Jorge\Desktop\Airfoil_BASELINE_Measurements\Airfoil_BASELINE_Measurements\Re140k00deg'; % It defines the folder (rpm or Re) to run
folders=[ % It indicates that in the folder selected we are interested in the Hot Wire measurements
{'cdaq2mod2_ai0-hw\'}
{'cdaq2mod2_ai1-hw\'}
];
file_data=dir([workfolder folders{1} 'x*.dat']); %Inside the hot wire measurements we look for all the files with an "x" in its name
for i=1:length(file_data);
files(i,1)={file_data(i).name}; % It creates a variable with all the names of the files
end
% files=[
% {'x_+0.000mm_y_+0.000mm_z_+0.000mm.dat'}
% {'x_+0.000mm_y_+5.000mm_z_+0.000mm.dat'}
% ];
coord = regexp(files,'\d+(\.\d+)?','match'); % It extracts the coordinates from the name of each file
xyzCoords = cell2mat(cellfun(@(x)str2num(char(x))',coord,'UniformOutput',false)); % It organize the coordinates properly
采纳的回答
更多回答(1 个)
Alessandro Masullo
2015-1-27
编辑:Alessandro Masullo
2015-1-27
The variable files is a cell array, and you are trying to refer it as a matrix. You should use files{i} instead of files(i,1) when you want to assign it:
for i=1:length(file_data);
files{i} = file_data(i).name;
end
5 个评论
Peter
2015-1-27
Alessandro Masullo
2015-1-27
I tried this code, and it works:
file_data = dir('*.*');
for i=1:length(file_data);
files{i} = file_data(i).name;
end
What is the error and where do you get it?
Peter
2015-1-27
Peter
2015-1-27
Guillaume
2015-1-27
@Alessandro,
y{i} = x
and
y(i) = {x}
are equivalent, when y does not exists or is already defined as a cell array.
类别
在 帮助中心 和 File Exchange 中查找有关 Variables 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!