|
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;
}
|
|