如何解决找到关于 R 平方的两个常数......耗时
我已经成功编写了一个加载 XLS 文件值的脚本。原始数据包括刚度值、频率和温度。
我创建了一个 for 循环来查找 2 个常量(x1 和 x2),我需要能够叠加数据。
这可行,但需要很多时间。
代码大致如下:
oldRsqr = 0;
x1_found = 0;
x2_found = 0;
for i = 0:0.1:10000
for j = 0:0.1:10000
x1 = i;
x2 = j;
wanted_value = -x1*(T_T-T_ref)./(x2+(T_T-T_ref)
ReqT = exp(wanted_value(:,1));
ReqCalc = ReqT.*Req_tot;
Rsqr = corr(log(ReqCalc),log(ForceIndata))
if Rsqr > oldRsqr
Rsqr = oldRsqr;
x1_found = x1;
x2_found = x2;
elseif Rsqr <= oldRsqr
Rsqr = oldRsqr;
break;
endif
endfor
endfor
我看过 fminsearch
但还没有真正了解如何使用它。 fsolve
也是如此,因为我希望 R 平方尽可能高。更高的 R 平方 = 更高的准确度 = 更好地选择常数。
我还制作了一个更长的版本,可以分步进行测试。
例如在
开始第一个for循环for i = 0:100:10000
for j = 0:100:10000
i_1_min = x1_found-100;
i_1_max = x1_found+100;
j_1_min = x2_found-100;
j_1_max = x2_found+100;
....
i_2_min = x1_found-100;
i_2_max = x1_found+100;
i_2_min = x2_found-100;
i_2_max = x2_found+100;
那么下一个 for 循环是
for i_2 = i_2_min:10:i_2_max
for j_2 = j_2_min:10:j_2_max
等等等等......你得到了练习。
必须有一种更省时的方法来找到可以优化我的方程的两个常数吗?
如果 excel 可以在几秒钟内使用求解器完成此操作,那么对于像 Octave 这样强大的功能来说,这应该是一件容易的事?还是我错了?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。