求解一个关于最小二乘法拟合数据的问题,matlab或是python都行

就是百度搜索了一些但没搜索到关于复数函数的拟合问题;图片上是我需要拟合的复数函数,但是单独拟合实部的话,虚部拟合不上,单独拟合虚部的话实部又有问题,要怎么才能同时拟合实部和虚部呢

img

同学,类似这样就行

clc;clear
x = linspace(pi,3/2*pi,21);
y = 1./(1+4*x.^2) + 1i*(2*x./(1+4*x.^2)+6./x);%这是我自己设的x和y,a是系数
realf = @(a,x)(a(2)./(1+a(1).^2*x.^2)); 
imagf = @(a,x)-(a(1)*x./(1+a(1)^2*x.^2)+a(3)./x);
f = @(a, x, y) norm(real(y)-realf(a,x)) +...
    norm(imag(y)-imagf(a,x));
a = fmincon(@(a)f(a,x,y), 1000*rand(5,1));%搜索最小值就行
plot(x,real(y),'b-',x,realf(a,x),'g--')
hold on
plot(x,imag(y),'rp',x,imagf(a,x),'r-.')
legend('实部','实部拟合','虚部','虚部拟合')