如何将复杂的价值函数适合我的数据?

73意见(过去30天)
我正在尝试找到将复杂价值函数适合我的数据的参数,这是真实的。我要使用的函数是:
Y = C * x * 1i + x ^ 2;

接受答案

Mathworks支金宝app持团队
编辑:Mathworks支金宝app持团队 2019年8月29日
曲线拟合工具箱不接受复数函数。要执行拟合,请使用LSQNONLIN功能或FMINSEARCH功能。传递给LSQNONLIN或FMINSEARCH的目标函数应单独使用参数的真实和复杂的部分,并单独返回残留物的实际和复杂部分。
例如,创建“myfun.m”函数。
功能f = myfun(c,xdata,ydata)
%c是一个两个元素矢量,其组件是真实的
分别参数的%和虚部
错误=(c(1)+ c(2)* 1i)* xdata * 1i + xdata。^ 2 - ydata;
f = [真实(错误(:));imag(错误(:))];
请注意,XDATA和YDATA可能是复杂的,但输入和输出是真实的。
用LSQNONLIN使用它:
[x,resnorm] = lsqnonlin(@(c)myfun(c,xdata,ydata),[1 3])
使用此功能与fminsearch,添加
f = sum(f. ^ 2);
在“MyFunc.m”的底部,并在上面的语法中用“fminsearch”替换'lsqnonlin'。
2评论
vivek e K.
vivek e K. 2021年6月20日
我可以使用这种方法使用以下复杂方程式拟合曲线吗?如果是这样,你能解释一下程序吗?
在上面的等式中
K0,K1,K2,T1,T2是系数,
W是频率

登录评论。

更多答案(0)

下载188bet金宝搏

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!