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

[基础概念] 有没有人知道这个函数

[复制链接]
发表于 2009-3-26 21:02:10 | 显示全部楼层 |阅读模式 来自 湖南长沙
本帖最后由 sunbader 于 2009-3-29 17:27 编辑

请问有谁知道哪个函数的图形是如图所示的马鞍形分布的啊?
我需要拟合下面的曲线。但是又不想分段拟合,不知道该怎么办,请大家帮我看看
拟合数据为:
x分量: 数据文件中第三列数据
y分量: 数据文件中第五列数据


数据文件:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2009-3-28 17:44:36 | 显示全部楼层 来自 江苏无锡
Simdroid开发平台
It can be anything function.
回复 不支持

使用道具 举报

发表于 2009-3-28 21:12:39 | 显示全部楼层 来自 北京海淀
FM最好多注意一下语法。老这样不注意错误,很难有提高的,:victory:
回复 不支持

使用道具 举报

发表于 2009-3-28 21:15:25 | 显示全部楼层 来自 江苏无锡
哦,下次改正。

我是属于那种“遇强不弱,遇弱不强”的类型。
回复 不支持

使用道具 举报

发表于 2009-3-29 03:45:13 | 显示全部楼层 来自 美国
金庸《倚天屠龙记》里九阳真经的口诀:他强由他强,清风拂山岗;他横由他横,明月照大江。就是,道是心常平!
回复 不支持

使用道具 举报

发表于 2009-3-29 04:36:43 | 显示全部楼层 来自 美国
最简单的大概是用一个四阶的多项式表示,因为你中间的那段是2阶,外面也是2阶,相乘得到4阶。
例如:
  1. data1 = {#, #^2} & /@ Range[-4, 4, 0.2];
  2. data2 = {#, 16 + 9/1. - #^2} & /@
  3.    Union[Range[3, 6, 0.2], Range[-6, -3, 0.2]];
  4. fits = Fit[Union[data1, data2], {1, x, x^2, x^3, x^4}, x]
  5. Plot[fits, {x, -6, 6}, PlotRange -> {All, {-20, 20}}]
复制代码
另外就是用分段函数,例如 Interpolation函数。
回复 不支持

使用道具 举报

发表于 2009-3-29 12:23:03 | 显示全部楼层 来自 北京
金庸《倚天屠龙记》里九阳真经的口诀:他强由他强,清风拂山岗;他横由他横,明月照大江。就是,道是心常平!
smarten 发表于 2009-3-29 03:45


“心常平”最好不过了,就怕事事心不在
回复 不支持

使用道具 举报

发表于 2009-3-29 12:27:22 | 显示全部楼层 来自 北京
我想楼主肯定不是要我们曲线拟合的。

他可能是在问我们有没有人见过这种数学上的[b]“特殊函数”[\b]
回复 不支持

使用道具 举报

 楼主| 发表于 2009-3-29 17:18:03 | 显示全部楼层 来自 湖南长沙
事实上我是需要拟合上面的曲线的。中间那段凹陷的曲线和b*【exp(-k*(a-x))+exp(-k*(a+x))】+y0有点类似,至于两边的我就不知道用什么函数拟合比较好了。
现在我将数据文件贴上来,请大家帮我看看,谢谢
x:文件中的第三列数据
y:文件中的第五列数据
最好不要分段拟合。
回复 不支持

使用道具 举报

发表于 2009-3-31 13:11:55 | 显示全部楼层 来自 北京海淀
看图找规律,太主观了,我就不想去越俎代庖了
回复 不支持

使用道具 举报

发表于 2009-3-31 20:21:48 | 显示全部楼层 来自 北京海淀
本帖最后由 waynebuaa 于 2009-3-31 20:23 编辑

感觉像方波。考虑到了方波的傅立叶展开,我想到了下面的表达式,超级的像
  1. Plot[3 Sin[x] + 2 Sin[3 x], {x, -5, 5}]
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

 楼主| 发表于 2009-3-31 23:48:46 | 显示全部楼层 来自 湖南长沙
感觉不太像,呵呵
回复 不支持

使用道具 举报

发表于 2009-4-1 10:31:00 | 显示全部楼层 来自 北京海淀
12# sunbader
有新的想法了,可以把你的图片看成是两个峰的叠加:
就像附件这样

于是问题的关键就落在了找一个比较合适的峰函数了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

 楼主| 发表于 2009-4-8 18:25:09 | 显示全部楼层 来自 湖南长沙
中间离波峰比较远的区域确实是可以用exp(-alpha*(a-x))+exp(-alpha*(a+x))来拟合,但是波峰及其外侧部分就不是那样的了
回复 不支持

使用道具 举报

 楼主| 发表于 2009-4-12 23:09:46 | 显示全部楼层 来自 湖南长沙
继续顶一个
回复 不支持

使用道具 举报

发表于 2009-4-13 01:50:41 | 显示全部楼层 来自 美国
我用Interpolation做的(光滑的分段函数). 在Mathematica里面一点障碍都没有,可以求面积,。。。
  1. data = Import["C:/拟和.txt", "Table"];
  2. function = Interpolation[data[[All, {3, 5}]]]
  3. Plot[function[x], {x, -6, 6},
  4. Epilog -> {PointSize[0.01], Red, Point@data[[All, {3, 5}]]}]
  5. Integrate[function[x], {x, -6, 6}]
复制代码
得到面积:491.524和图像:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2009-4-13 01:53:36 | 显示全部楼层 来自 美国
我用分段函数,因为你没说这个图的物理意义是什么。没有物理意义的话,什么数学函数都可以的,如果别人要去取值的话,可能连函数都不需要,看你的图像就知道了。
回复 不支持

使用道具 举报

 楼主| 发表于 2009-4-14 10:53:20 | 显示全部楼层 来自 湖南长沙
分段拟合是比较好做,我是想知道看有没有什么函数的曲线是这样分布的——两边各有一个尖峰,中间比较平坦。
回复 不支持

使用道具 举报

发表于 2009-5-7 17:02:55 | 显示全部楼层 来自 陕西宝鸡
本帖最后由 ggggwhw 于 2009-5-7 17:05 编辑

a = 1.3; b = 22;
Plot[1375 (PDF[GammaDistribution[a, b], 12 (x + 5)] +
     PDF[GammaDistribution[a, b], 12 (5 - x)]) + 22.641205, {x, -5.3,
  5.3}, AxesOrigin -> {0, 0}]

(*如何上传图片?*)

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2009-5-7 21:27:09 | 显示全部楼层 来自 宁夏银川
19楼的代码,我考入Mathematica 怎么运行不了啊???你用的是那个版本啊,我用的是5.0
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-7 03:31 , Processed in 0.049813 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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