gpt4 book ai didi

matlab - 为 MATLAB 追加

转载 作者:行者123 更新时间:2023-11-30 08:58:35 40 4
gpt4 key购买 nike

我正在训练一个人工神经网络,我想要有不同的训练实例。在每种情况下,我想找到实际输出和预测输出之间的最大差异。然后我想取所有这些最大值的平均值。

到目前为止我的代码是:

maximum = []; 
k=1;

for k = 1:5
%Train network
layers = [ ...
imageInputLayer([250 1 1])
reluLayer
fullyConnectedLayer(100)
fullyConnectedLayer(100)
fullyConnectedLayer(1)
regressionLayer];

options = trainingOptions('sgdm','InitialLearnRate',0.1, ...
'MaxEpochs',1000);
net = trainNetwork(nnntrain,nnnfluidtrain,layers,options);
net.Layers

%Test network
predictedn = predict(net,nnntest);
maximum = append(maximum, max(abs(predictedn-nnnfluidtest)));

k=k+1
end

我的目的是生成一个名为“最大值”的列表,其中包含五个元素(每个 ANN 训练实例的最大值),然后我想对其求平均值。

但是,它一直给我错误:

wrong number of input arguments for obsolete matrix-based syntax

当它尝试追加时。第一个输入是列表,第二个输入是 1x1 单个输入。

最佳答案

追加在 MATLAB 中是一种 native 操作。您可以通过实际构建一个新向量来附加元素,其中原始向量是输入的一部分。

因此:

maximum = [maximum max(abs(predictedn-nnnfluidtest))];

如果出于某种原因您想以函数形式执行此操作,您正在寻找的函数是 cat这是 conectcatenate 的缩写形式。 append 函数在多个工具箱中都可以看到,但每个工具箱都不能执行您想要的操作。 cat 是您想要的,但您仍然需要提供原始输入向量作为参数的一部分:

maximum = cat(2, maximum, max(abs(predictedn-nnnfluidtest)));

第一个参数是要附加到的轴。为了尊重您在上面执行的代码,您希望列随着您扩展向量而增加,以便成为第二个轴,或者轴为 2。

关于matlab - 为 MATLAB 追加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49761988/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com