我想运行这段代码
CusineTypeCell *cell = (CusineTypeCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CusineTypeCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
[cell.userSelectedCusine setBackgroundImage:[UIImage imageNamed:@"checkbozempty"] forState:UIControlStateNormal];
[cell.userSelectedCusine setBackgroundImage:[UIImage imageNamed:@"checkboxselect"] forState:UIControlStateSelected];
[cell.userSelectedCusine addTarget:self action:@selector(checkboxSelected:) forControlEvents:UIControlEventTouchUpInside];
cell.cusineName.text = [self.cusineFilterData objectAtIndex:indexPath.row];
return cell;
其中import numpy as np
import matplotlib.pyplot as plt
from scipy.misc import factorial
def poisson(k, lamb):
return (lamb**k/factorial(k)) * np.exp(-lamb)
x_plot = np.linspace(0, 10, 100)
plt.plot(x_plot, poisson(x_plot, parameters), 'r-', lw=2)
plt.show()
但每次出现此警告时:
parameters = 0.00213553
只显示一条水平线。
我检查了类似的问题,但他们并没有真正帮助。
我还尝试将函数返回值转换为 RuntimeWarning: invalid value encountered in power
return (lamb**k/factorial(k)) * np.exp(-lamb)
,但这也没有用。
(使用float128
)
答案 0 :(得分:2)
我真的不知道你正在使用哪个factorial
。但是当我使用math.factorial
时,代码甚至无法工作。然后我尝试使用scipy.misc.factorial
,它可以将numpy array
作为输入。当我运行以下内容时,它不会给我任何错误或警告。
import numpy as np
import matplotlib.pyplot as plt
import scipy.misc
parameters = 0.00213553
def poisson(k, lamb):
return (lamb**k/scipy.misc.factorial(k)) * np.exp(-lamb)
x_plot = np.linspace(0, 10, 100)
plt.plot(x_plot, poisson(x_plot, parameters), 'r-', lw=2)
plt.show()