如何适应和自定义函数有两个变量的数据吗?

28日视图(30天)
你好,
我想问如何适应和自定义函数有两个变量的数据吗?我有两个向量的测量数据,假设Ra和公关。我需要符合这一数据方程:a * (Ra ^ (b)) * (Pr ^ (c))和提取解的值。我怎么能这样做呢?谢谢你!

答案(1)

蒂亚戈恩里克戈麦斯Lobato
你可以减少你的模型的误差数据要通过优化参数。另一个选择是,例如,通过使用 fminsearch
Ra = randn (100 1) * 5;你说你有%数据
公关= randn (100 1);
%我产生一些示例数据
一个= 0.5;
b = 0.1;
c = 0.35;
dataToFitModel = a * (Ra。^ (b))。* (Pr。^ (c));%你但你应该没有提及这些数据,
%否则它没有意义的讨论
%这里你创建一个函数来测量和模型之间的误差最小化
有趣= @ x (x) rms (dataToFitModel - ((1) * (Ra。^ (x (2))) * (Pr。^ (x (3)))))
有趣的=function_handle与价值:
@ (x) rms (dataToFitModel - (x (1) * (Ra。^ (x (2)))。* (Pr。^ (x (3)))))
firstGuess = (0, 0, 0);%根据你的数据,你可能需要一个起点接近真正的答案
[x, fval] = fminsearch(有趣,firstGuess);
aFromData = x (1)
aFromData = 0.5000
bFromData = x (2)
bFromData = 0.1000
cFromData = x (3)
cFromData = 0.3500
fval
fval = 4.6583 e-05

标签

社区寻宝

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

开始狩猎!