我一直在使用matlab分析并通过一个decission树来回答真/假的答案。
我想添加更多功能,以允许用户从csv文件中读取数据或手动输入数据。我目前收到以下错误,我已尝试在以前的数据上使用此csv方法,它运行正常。 (我知道用户输入暂时没有添加任何功能)
csvread错误(第47行) m = dlmread(文件名,',',r,c);
second_draft出错(第28行) M = csvread(filename,1)
我尝试使用dlmread但也有错误,csv中的一些数字是浮点数,有些是整数,我不确定这是否与错误有关。
尝试阅读的数据如下所示
prompt = input('Do you want to manually input values or select file? :','s'); %user prompt to select manual data entry or to read csv file
s2 = {'file','folder'; %array of strings that will be compared against user input
'f','choose'};
tf = strcmp(prompt,s2); % string compare of user input 'prompt' against array 's2'
if any(tf(:)) %tf(:) returns a column vector of all elements in tf, and any() checks if there are any values greater than 1.
[filename pathname] = uigetfile({'*.csv'}, 'File selector')
else
prompt = {'Enter matrix size:','Enter colormap name:',};
dlg_title = 'Input';
num_lines = 1;
defaultans = {'20','hsv'};
answer = inputdlg(prompt,dlg_title,num_lines,defaultans);
end
for x = 1:267
M = csvread(filename, 1);
val1=M(x,1);
val3=M(x,3);
val7=M(x,7);
val8=M(x,8);
val9=M(x,9);
val10=M(x,10);
val11=M(x,11);
val12=M(x,12);
val13=M(x,13);
outcome = [];
if val3 <= 3
if val13 <= 3
if val10 <=1.6
outcome = 'False';
else
显然,有更多代码可以运行整个决策树,我已经独立测试了它并且工作正常。
我非常感谢任何帮助,我已经尝试了所有我知道但无法解决的问题!