小编jka*_*den的帖子

numpy.polyfit给出空残差数组

我使用numpy.polyfit将二阶多项式拟合到一组数据

fit1, fit_err1, _, _, _ = np.polyfit(xint[:index_max], yint[:index_max], 2, full=True)

对于我的数据的一些例子,fit_err1虽然拟合成功,但变量是空的,即fit1不是空的!

有人知道在这种情况下空残余是什么意思吗?谢谢!

编辑:一个示例数据集:

x = [-488., -478., -473.]
y = [ 0.02080881,  0.03233648,  0.03584448]

fit1, fit_err1, _, _, _ = np.polyfit(x, y, 2, full=True)
Run Code Online (Sandbox Code Playgroud)

结果:

fit1 = [ -3.00778818e-05  -2.79024663e-02  -6.43272769e+00]
fit_err1 = []
Run Code Online (Sandbox Code Playgroud)

我知道将二阶多项式拟合到三个点的集合并不是很有用,但是我仍然期望函数要么发出警告,要么(因为它实际上确定了拟合)返回实际残差,或两者(如"这是剩余的,但你的条件很差!").

python arrays numpy curve-fitting python-2.7

6
推荐指数
1
解决办法
1730
查看次数

在不使用volatile或内存屏障和锁定的情况下保证执行顺序

我有关于编译器改变执行顺序的问题.我试图通过用信号机制(thorugh信号量)替换临界区来提高多线程程序(C语言)的性能.

我需要保证这里的执行顺序,并且已经对此进行了一些研究.我在函数中看到了许多关于执行顺序的问题,但对函数中的函数没有太多讨论.

基于https://en.wikipedia.org/wiki/Sequence_point规则#4,下面的代码块会保证*p->afunc2输入之前必须首先进行评估,因为func2p作为输入(假设编译器遵守调度点的规则)在这里定义)?

func1 (struct *p) {
  p->a = x;  
  func2 (p);
}

func2 (struct *p) {
  p->b = y;
  releaseSemaphore(s);
}
Run Code Online (Sandbox Code Playgroud)

至关重要的p->b是,只有在p->a设置为另一个线程处于处理各种请求的循环中并且通过是否p->b设置来识别有效请求时才设置.释放信号量只会在空闲(并等待信号量)时触发任务,但如果它忙于处理其他请求,它将在稍后检查p->b,并且我们不能保证func1仅在该线程空闲时调用.

c performance multithreading compiler-optimization

6
推荐指数
1
解决办法
100
查看次数

imwrite 合并图像:添加 alpha 通道后写入图像 opencv python

我想更改图像的背景并向其添加 Alpha 通道,然后再将其保存为 png 文件。

imshow显示图像,但imwrite写入空图像。合并后的尺寸也是正确的,即合并后的图像(x,y,4)在打印时具有img_a.shape

图像深度为uint8. 我尝试将其更改为float32然后除以255但似乎没有任何效果。我缺少一些基本的东西。

我应该怎么做才能imwrite用 alpha 通道写入正确的 png ?我尝试cv2.merge过并且np.dstackimwrite写失败。用 gimp 打开它时,它显示一层。

以下是我的代码。

imgo = cv2.imread('PCP_1.jpg')
image = cv2.GaussianBlur(imgo, (5, 5), 0)
r = image.shape[0]
c = image.shape[1]
shp = (r,c,1)
c_red, c_green, c_blue = cv2.split(image)
#c_red = c_red.astype(np.float32)
#c_green =c_green.astype(np.float32)
#c_blue = c_blue.astype(np.float32)
alphachn = np.zeros(shp)
#alphachn = alphachn.astype(np.float32)
img_a = cv2.merge((c_red, c_green, c_blue, alphachn))
#img_a …
Run Code Online (Sandbox Code Playgroud)

opencv numpy image python-2.7

5
推荐指数
1
解决办法
6805
查看次数