Matlab-从文件加载的数组中检索单个单元格以用于函数
XTrain是从文件加载的浮点元素的向量。然后,脚本执行一个函数来利用文件内容 文件元素的摘录如下所示Matlab-从文件加载的数组中检索单个单元格以用于函数,matlab,Matlab,XTrain是从文件加载的浮点元素的向量。然后,脚本执行一个函数来利用文件内容 文件元素的摘录如下所示 128.3000 127.4700 127.8800 我可以使用命令行代码XTrain(1,1)检索单个单元格值 以下是我的函数,如果我在测试行上切换注释,会导致错误: function loss = LS(XTrain) a = [1 2 3 4] for i=1:150, %test = XTrain(1,1) te
- 128.3000
- 127.4700
- 127.8800
function loss = LS(XTrain)
a = [1 2 3 4]
for i=1:150,
%test = XTrain(1,1)
test = a(1,1)
end
loss = test;
end
以下是错误:
使用Func时出错(第6行)
输入参数不足
运行时出错(第64行)
evalin('caller',[script';'])
加载错误(第12行)
运行函数
问题是否由文件数据的浮点类型引起
文件数据
1 65.78 112.99
2 71.52 136.49
3 69.40 153.03
468.22 142.34
脚本文件:
DATA = dlmread('xtraindata.txt')
XTrain = DATA(1:150,2:2)
run Func
Func文件:
function lret = Func(XTrain)
lret = XTrain(1,1)
end
你应该替换
run Func
借
如果您在Func.m中定义了Func,而“run Func”不在Func.m中,您也可以删除该行
function lret = Func(XTrain)
MATLAB似乎认为XTrain是一个函数。您确定要传入向量吗?我运行了您提供的代码,即使您没有将XTrain传递给LS(),也没有错误。只有在取消注释第6行时才会出现错误。如果您取消对它的注释,那么正如MrAzzaman所提到的,您必须传递一个参数。DATA=dlmread('xtraindata.txt')XTrain=DATA(1:150,2:2)%I只想加载第二列中的所有浮点值。您能在帖子中输入完整的代码吗?或者至少是脚本文件的重要部分?这可能有助于我们确定发生了什么。我已经编辑了这个问题,提供了脚本和函数文件的全部内容。当做
function lret = Func(XTrain)