找回密码
 注册
Simdroid-非首页
查看: 118|回复: 2

[数值计算] 复值函数的拟合

[复制链接]
发表于 2011-6-7 12:23:30 | 显示全部楼层 |阅读模式 来自 北京
比如下面产生的一堆数据,那如何用mathematica拟合呢

s = Table[100/(100. + 5 I + i) + 0.01*Random[], {i, 1, 50}];

y=a/(b + x)
发表于 2011-6-7 17:24:30 | 显示全部楼层 来自 黑龙江哈尔滨
Simdroid开发平台
1# waynebuaa

obj =( 计算值的实部 - 数据的实部 )^2+ (计算值的虚部 - 数据的虚部)^2

好像都是这么处理的。


  1. data = Table[{Random[] I, 100/(100. + 5 I + i) + 0.01*Random[]}, {i,
  2.    1, 5}]
  3. model = a/(b + x);
  4. compu = model /. {x -> data[[All, 1]]}
  5. obj = (Re@(compu - data[[All, 2]]))^2 + (Im@(compu -
  6.         data[[All, 2]]))^2 // Total;
  7. NMinimize[obj, {a, b}]
复制代码
回复 不支持

使用道具 举报

 楼主| 发表于 2011-6-9 17:13:58 | 显示全部楼层 来自 北京
多谢TBE_Legend 兄
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-20 08:47 , Processed in 0.028802 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表