R__LoVe 2021-09-18 16:45 采纳率: 50%
浏览 90
已结题

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

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

img

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-09-18 18:13
    关注

    同学,类似这样就行

    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('实部','实部拟合','虚部','虚部拟合')
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月26日
  • 已采纳回答 9月18日
  • 创建了问题 9月18日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵