代码优化拟合参数从两个不同的数据集

3视图(30天)
我想写一个相同代码与拟合的目的(优化拟合的目的)两个不同的数据集?谁能请检查并让我知道如果我这么做对吗?
非常感谢你
干杯
Troyee
clc;
清除所有;
T1 = xlsread (“resilient_volm_w4.3.xlsx”、“Sheet1”、“A3: P43”);
T2 = xlsread (“resilient_volm_w4.3.xlsx”、“Sheet2”、“A3: P43”);
t1 = t1 (: 1);
t2 = t2 (: 1);
日元= T1 (:, 2);
y2 = T2 (:, 2);
%轴([0 2 -0.5 6)
%抓住
s1_1 = T1 (: 11);
s3_1 = T1 (:, 12);
s1_2 = T2 (: 11);
s3_2 = T2 (:, 12);
选项= optimset (disp,“通路”,“大规模”,“关闭”,“TolFun”措施,“麦克斯特”,100000年,“MaxFunEvals”, 100000年);
10 10磅= (0.1 - 0.1);
乌兰巴托= (10 10 1000000 1000000);
x0 = (0.1 - 0.1 10 10);
x = lsqnonlin (@objFunctions x0,磅,乌兰巴托,选项)
fun1 = ((((s1_1 + 2 * x (1) * s3_1) / 3)。^ (x (2)) / (100 ^ (x (2) (1)))。* ((1 + 2 * x (1)) / (3 * x (3)) + ((x (2) 1) / (18 * x (4))) * (1 + 2 * x (1)) * (((s1_1-x (1) * s3_1)。/ ((s1_1 + 2 * x (1) * s3_1) / 3))) ^ 2 + ((s1_1-x (1) * s3_1)。/ ((s1_1 + 2 * x (1) * s3_1) / 3)) * (1 - x (1) / (3 * x (4))));
fun2 = ((((s1_2 + 2 * x (1) * s3_2) / 3)。^ (x (2)) / (100 ^ (x (2) (1)))。* ((1 + 2 * x (1)) / (3 * x (3)) + ((x (2) 1) / (18 * x (4))) * (1 + 2 * x (1)) * (((s1_1-x (1) * s3_2)。/ ((s1_2 + 2 * x (1) * s3_2) / 3))) ^ 2 + ((s1_2-x (1) * s3_2)。/ ((s1_2 + 2 * x (1) * s3_2) / 3)) * (1 - x (1) / (3 * x (4))));
% r = F (x) (s1 s3));
抓住
%的阴谋(t1,有趣(x) + y1/10000, r -)
情节(t1, fun1, r -)
情节(t2, fun2“b -”)
情节(t1, y1/10000 k *)
情节(t2, y2/10000 g *)
推迟
函数[funoutput] = objFunctions (x, s1_1 s1_2、s3_1 s3_2, fun1, fun2)
T1 = xlsread (“resilient_volm_w4.3.xlsx”、“Sheet1”、“A3: P43”);
T2 = xlsread (“resilient_volm_w4.3.xlsx”、“Sheet2”、“A3: P43”);
t1 = t1 (: 1);
t2 = t2 (: 1);
日元= T1 (:, 2);
y2 = T2 (:, 2);
s1_1 = T1 (: 11);
s3_1 = T1 (:, 12);
s1_2 = T2 (: 11);
s3_2 = T2 (:, 12);
fun1 = ((((s1_1 + 2 * x (1) * s3_1) / 3)。^ (x (2)) / (100 ^ (x (2) (1)))。* ((1 + 2 * x (1)) / (3 * x (3)) + ((x (2) 1) / (18 * x (4))) * (1 + 2 * x (1)) * (((s1_1-x (1) * s3_1)。/ ((s1_1 + 2 * x (1) * s3_1) / 3))) ^ 2 + ((s1_1-x (1) * s3_1)。/ ((s1_1 + 2 * x (1) * s3_1) / 3)) * (1 - x (1) / (3 * x (4)))) -y1/10000;
fun2 = ((((s1_2 + 2 * x (1) * s3_2) / 3)。^ (x (2)) / (100 ^ (x (2) (1)))。* ((1 + 2 * x (1)) / (3 * x (3)) + ((x (2) 1) / (18 * x (4))) * (1 + 2 * x (1)) * (((s1_1-x (1) * s3_2)。/ ((s1_2 + 2 * x (1) * s3_2) / 3))) ^ 2 + ((s1_2-x (1) * s3_2)。/ ((s1_2 + 2 * x (1) * s3_2) / 3)) * (1 - x (1) / (3 * x (4)))) -y2/10000;
funoutput = [fun1; fun2];
结束

答案(0)

类别

找到更多的在非线性优化帮助中心文件交换

标签

下载188bet金宝搏

社区寻宝

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

开始狩猎!