重塑()误差函数由matlabFunction ()

2视图(30天)
matlabFunction () 产生了对我来说 AmplAndDers () 用于 fminunc () 。第一个目标函数评价失败:
错误使用重塑
的元素数量不能改变。使用[]的输入自动计算合适的大小尺寸。
错误AmplAndDers(第93行)
赫斯=重塑([t2 * t3 * t4。…。* (3.0. / 4.0)], [4 4]);
函数的签名是:
函数[Ampl GradA,赫斯]= AmplAndDers (C1_0、C2_0 R1_0, R2_0, w, x1, x2, x3, x4)
我叫它 w 是一个数组。另外两个输出正确返回。我不懂上面的建议是什么意思:
使用[]的输入自动计算合适的大小尺寸。
如果我手动更改上面 重塑() 调用结束:
…*(3.0. / 4.0)]、[4,4、长度(w)]);
程序运行。
如何避免人工干预?
4评论
博季诺夫Aronov
博季诺夫Aronov 2021年8月24日
哦。这里的电话是:
函数[x, fval] = OptimizeFilter (A0, f, x0)
选择= optimoptions (“fminunc”、“算法”、“信赖域”,“SpecifyObjectiveGradient”,的确,HessianFcn”、“客观”);
[x, fval exitflag、输出]= fminunc (@Target,(1, 1, 1, 1)选项)
函数y =目标(x)
[aCurrent, GradW HessW] = AmplAndDers (x0 x0 (1), (2), x0 (3), x0 (4), f, x (1) x (2) x (3) x (4));
结束
结束

登录置评。

答案(1)

KSSV
KSSV 2021年8月21日
阅读文档的 重塑 并理解它。错误是清楚的,你要比数组中创建额外的元素而改变。
例子:
一个=兰德(1,25);
B = reshae (5 5);% 5 * 5 = 25,没有错误元素一样礼物
C =重塑(6 5);% 6 * 5 = 30,误差仅为30元素。
1评论
博季诺夫Aronov
博季诺夫Aronov 2021年8月21日
编辑:博季诺夫Aronov 2021年8月22日
的身体 AmplAndDers () 函数和 重塑() 调用代码生成的 matlabFunction () 。我不能看到阅读文档 重塑() 能帮助我。是的,确实是明显的错误。

登录置评。

类别

找到更多的在函数创建帮助中心文件交换

下载188bet金宝搏


释放

R2021a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的