计算值和实验结果之间的误差最小化

20视图(30天)
你好,我是写以下代码计算值和实验结果之间的误差最小化:
K = [1 2 2.8 3.3 3.5 3.6];%一些数据来测试
v =符号(“v”[1,2]);
一个= v (1);b = v (2);
e = (1 2 3 4 5 6)
eo = 2
i = 1:1:6
D (i) = @ (v) * (e(我)eo) ^ b
E (i) = E(我)*(一维(i));
R (i) = (K (i) - e(我))^ 2;
结束
RM = 0
i = 1:1:6
RM = RM + R(我)
结束
RMS = (RM) ^ (1/2)
v = (0.12 - 2);
c = fminsearch (RMS, v)
它显示错误。你能帮忙解决这个问题。

接受的答案

大师莫汉蒂
大师莫汉蒂 2020年4月15日
你好,我知道你正试图最小化误差给定的一组数据。代码中的错误是由于一个事实,即函数 fminsearch 函数句柄作为输入,而不是对称的。首先,你需要把RMS的函数处理使用 matlabFunction 然后计算出最低。这是修改后的代码。
清晰的所有;
clc;
K = [1 2 2.8 3.3 3.5 3.6];%一些数据来测试
v =符号(“v”[1,2]);
一个= v (1);b = v (2);
e = (1 2 3 4 5 6);
eo = 2;
RM = 0;
i = 1:1:6
D (i) = a * (e(我)eo) ^ b;
E (i) = E(我)*(一维(i));
R (i) = (K (i) - e(我))^ 2;
RM = RM + R(我);
结束
RMS = (RM) ^ (1/2);
RMS = matlabFunction (RMS,“var”,{[v (1), (2)]});
v = (0.12 - 2);
c = fminsearch (RMS, v);
disp (c);

更多的答案(0)

标签

社区寻宝

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

开始狩猎!