|
30鱼币
本帖最后由 妖娆乌龙茶 于 2021-9-3 14:39 编辑
软件的环境是c语言,但只有python的程序。本人完全不会c语言 ,求助改写成c语言。
就是不会这个beta函数用c语言怎么写
- import matplotlib.pyplot as plt
- import numpy as np
- from scipy import stats
- from matplotlib import style
- style.use('ggplot')
- params=[0.5,1,2,3]
- x=np.linspace(0,1,100)
- f,ax=plt.subplots(len(params),len(params),sharex=True, sharey=True)
- for i in range(4):
- for j in range(4):
- alpha=params[i]
- beta=params[j]
- pdf=stats.beta(alpha,beta).pdf(x)
- ax[i,j].plot(x,pdf)
- ax[i,j].plot(0,0,label='alpha={:3.2f}\nbeta={:3.2f}'.format(alpha,beta),alpha=0)
- plt.setp(ax[i,j],xticks=[0.0,0.2,0.4,0.6,0.8,1.0], yticks=[0,2,4,6,8,10])
- ax[i,j].legend(fontsize=10)
- ax[3,0].set_xlabel('theta',fontsize=16)
- ax[0,0].set_ylabel('pdf(theta)',fontsize=16)
- plt.suptitle('Beta PDF',fontsize=16)
- plt.tight_layout()
- plt.show()
复制代码
这算改成了C语言吗?^_^
- #include <stdio.h>
- #include <Python.h>
- int main(void) {
- const char *code = "import matplotlib.pyplot as plt\n"
- "import numpy as np\n"
- "from scipy import stats\n"
- "from matplotlib import style\n"
- "style.use('ggplot')\n"
- "params=[0.5,1,2,3]\n"
- "x=np.linspace(0,1,100)\n"
- "f,ax=plt.subplots(len(params),len(params),sharex=True, sharey=True)\n"
- "for i in range(4):\n"
- " for j in range(4):\n"
- " alpha=params[i]\n"
- " beta=params[j]\n"
- " pdf=stats.beta(alpha,beta).pdf(x)\n"
- " ax[i,j].plot(x,pdf)\n"
- " ax[i,j].plot(0,0,label='alpha={:3.2f}\\nbeta={:3.2f}'.format(alpha,beta),alpha=0)\n"
- " plt.setp(ax[i,j],xticks=[0.0,0.2,0.4,0.6,0.8,1.0], yticks=[0,2,4,6,8,10])\n"
- " ax[i,j].legend(fontsize=10)\n"
- "ax[3,0].set_xlabel('theta',fontsize=16)\n"
- "ax[0,0].set_ylabel('pdf(theta)',fontsize=16)\n"
- "plt.suptitle('Beta PDF',fontsize=16)\n"
- "plt.tight_layout()\n"
- "plt.show()";
- Py_Initialize();
- PyRun_SimpleString(code);
- Py_Finalize();
- return 0;
- }
复制代码
|
|