小编Pau*_*aul的帖子

从三角测量推断

假设我们有五个顶点:

X = [0 1;
     2 1;
     4 1;
     1 0;
     3 0];
Run Code Online (Sandbox Code Playgroud)

三角测量:

T = [1 4 2;
     4 5 2;
     5 3 2];
Run Code Online (Sandbox Code Playgroud)

和顶点上定义的函数值:

Fx = [1;
      2;
      3;
      4;
     -5];
Run Code Online (Sandbox Code Playgroud)

然后我们可以通过使用重心坐标轻松计算三角形内任何点的函数值.对于P = [1 .5]位于第一个三角形中的点,重心坐标为B = [.25 .5 .25],因此函数的计算结果为Fxi = 1/4 + 4/2 + 2/4 = 2.75.

但是,我很难看出如何推断这个表面.我们可以找到最接近的三角形并从中推断出来.问题是这会导致不连续的功能.考虑例如点P = [2 2].根据三角形1,其值为-0.5,而根据三角形3,其值为9.5.

是否有"标准"或普遍接受的方法从分段线性函数中推断出来?任何指向现有材料的指针也非常赞赏.

triangulation piecewise extrapolation

8
推荐指数
1
解决办法
540
查看次数

Python编解码器行结束

似乎Python的UTF-8编码(codecs包)将Unicode字符28,29和30解释为行结尾.为什么?我怎么能阻止它这样做呢?

示例代码:

with open('unicodetest.txt', 'w') as f:
  f.write('a'+chr(28)+'b'+chr(29)+'c'+chr(30)+'d'+chr(31)+'e')
with open('unicodetest.txt', 'r') as f:
  for i,l in enumerate(f):
    print i, l
# prints "0 abcde" with special characters in between.
Run Code Online (Sandbox Code Playgroud)

这里的要点是它将它读作一行,正如我所期望的那样.现在当我用codecsUTF-8读取它时,它会将它解释为多行.

import codecs
with codecs.open('unicodetest.txt', 'r', 'UTF-8') as f:
  for i,l in enumerate(f):
    print i, l
# 0 a
# 1 b
# 2 c
# 3 de
# (again with the special characters after each a, b, c, d
Run Code Online (Sandbox Code Playgroud)

字符28到31被描述为"信息分隔符四"到"一个"(按此顺序).有两件事让我感动:1)28到30被解释为行结束,2)31不是.这是预期的行为吗?我在哪里可以找到哪些字符被解释为行尾的定义?有没有办法不将它们解释为行尾?

谢谢.

编辑忘了复制'UTF-8'参数codecs.open.我的问题中的代码现已更正.

python unicode encoding line-endings utf-8

7
推荐指数
1
解决办法
2282
查看次数

Python协同程序

我对Javascript中的promises有一点经验.我对Python非常有经验,但对于它的协同程序来说是新手,有一点我不明白:异步性在哪里开始?

让我们考虑以下最小的例子:

async def gen():
    await something
    return 42
Run Code Online (Sandbox Code Playgroud)

据我所知,await something将我们的函数执行放在一边,让主程序运行其他位.在某些时候something有一个新的结果,gen很快就会有结果.

如果gen并且something是协同程序,那么通过所有的互联网智慧,他们是发电机.通过轮询,了解发电机何时可以使用新物品的唯一方法是:x=gen(); next(x).但这是阻止!调度程序如何"知道"何时x有结果?答案不能是"什么时候something有结果"因为something必须是一个发电机(因为它是一个协程).这个论点递归地适用.

我无法理解这个想法,在某些时候,这个过程只需要坐下来等待.

python asynchronous async-await

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