鱼C论坛

 找回密码
 立即注册
查看: 2191|回复: 6

[已解决]python可以数学建模吗?

[复制链接]
发表于 2019-9-19 15:57:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

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

x
我想做的数学模型是把一组复杂周期函数的时域数据写出它的傅里叶级数的三角展开式,并绘制光谱。
比如:t=t1,t2,t3,t4.....
         a=a1,a2,a3,a4.....
求大佬指点


最佳答案
2019-9-19 18:56:17
我找了下好像没有那种功能完善的包,只有别人写好的代码块,只要求级数的话应该够用了

https://blog.csdn.net/Night_MFC/article/details/84669194
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-19 16:17:55 | 显示全部楼层
在计算这一块,你可以用python的math数学包来自己写出傅里叶级数表达式,或者你可以用别人写好的傅里叶级数包。

画图的话可以用matplotlib包实现
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-19 18:46:33 | 显示全部楼层
facevoid 发表于 2019-9-19 16:17
在计算这一块,你可以用python的math数学包来自己写出傅里叶级数表达式,或者你可以用别人写好的傅里叶级数 ...

傅里叶级数包?有现成的呀?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-19 18:56:17 | 显示全部楼层    本楼为最佳答案   
我找了下好像没有那种功能完善的包,只有别人写好的代码块,只要求级数的话应该够用了

https://blog.csdn.net/Night_MFC/article/details/84669194
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-19 19:08:56 | 显示全部楼层
facevoid 发表于 2019-9-19 18:56
我找了下好像没有那种功能完善的包,只有别人写好的代码块,只要求级数的话应该够用了

https://blog.csd ...

好像可以用给~谢谢啦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-19 19:31:16 | 显示全部楼层
facevoid 发表于 2019-9-19 18:56
我找了下好像没有那种功能完善的包,只有别人写好的代码块,只要求级数的话应该够用了

https://blog.csd ...

from symfit import parameters, variables, sin, cos, Fit
import numpy as np
import matplotlib.pyplot as plt

def fourier_series(x, f, n=0):
    a0, *cos_a = parameters(','.join(['a{}'.format(i) for i in range(0, n + 1)]))
    sin_b = parameters(','.join(['b{}'.format(i) for i in range(1, n + 1)]))
    # Construct the series
    series = a0 + sum(ai * cos(i * f * x) + bi * sin(i * f * x)
                     for i, (ai, bi) in enumerate(zip(cos_a, sin_b), start=1))
    return series

x, y = variables('x, y')
w, = parameters('w')
model_dict = {y: fourier_series(x, f=w, n=3)}
print(model_dict)
xdata = np.linspace(-np.pi, np.pi)
ydata = np.zeros_like(xdata)
ydata[xdata > 0] = 1
fit = Fit(model_dict, x=xdata, y=ydata)
fit_result = fit.execute()
print(fit_result)
plt.plot(xdata, ydata)
plt.plot(xdata, fit.model(x=xdata, **fit_result.params).y, color='green', ls=':')

大佬~可不可以给我讲解一下每行大概是什么意思啊。虽然我这样有点过分。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-19 19:46:36 | 显示全部楼层
Simoncolosi 发表于 2019-9-19 19:31
from symfit import parameters, variables, sin, cos, Fit
import numpy as np
import matplotlib.pyp ...

我似乎也不太理解。。。或者你可以先搜一下 parameters和variables的用途
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 00:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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