小编mat*_*urg的帖子

在Matlab中有效地计算成对平方欧几里德距离

给出两组 - d维点.如何在Matlab中最有效地计算成对平方欧氏距离矩阵

符号: 集合1由(numA,d)-matrix 给出A,集合2由(numB,d)-matrix 给出B.得到的距离矩阵应为格式(numA,numB).

示例点:

d = 4;            % dimension
numA = 100;       % number of set 1 points
numB = 200;       % number of set 2 points
A = rand(numA,d); % set 1 given as matrix A
B = rand(numB,d); % set 2 given as matrix B
Run Code Online (Sandbox Code Playgroud)

performance matlab distance matrix euclidean-distance

13
推荐指数
1
解决办法
3916
查看次数

为什么类型提示 `float` 接受 `int` 而它甚至不是子类?

一方面,我了解到可以intfloat应该被类型注释的数字float(来源:PEP 484 类型提示这个 stackoverflow 问题):

def add(a: float, b: float):
    return a + b
Run Code Online (Sandbox Code Playgroud)

另一方面, anint不是 的实例float

  • issubclass(int, float) 返回 False
  • isinstance(42, float) 返回 False

因此,我希望Union[int, float]成为此用例的正确注释。

问题:

  • 这种违反直觉的行为的原因是什么?类型提示是否遵循与类比较不同的机制(例如,在某些情况下是“无损转换”规则左右)?
  • int/float型注释的特例?还有其他类似的例子吗?
  • 是否有任何 linter 会警告我Union[float, int]这是否是意外使用?

python type-hinting unions

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

当用线条重叠时,图像逐渐被擦除

除了存在绘制矢量场的特殊函数之外,我遇到了一个奇怪的Matlab行为:绘制一个图像(带有imagescimshow)并用彩色线条(用plotline)覆盖某些点导致背景图像的擦除.

%% some data...
% random image
Image = rand(200,400);
% 900 lines of random color
color1 = rand(1,900);
color2 = rand(2,900);
color3 = rand(3,900);
% some positions
x = 31:60;
y = 31:60;
[X,Y] = meshgrid(x,y);

%% plot process
% plot Image (with 'imshow' or 'imagesc')
imshow(Image);
hold on;
% plot the lines (with 'line' or 'plot')
for i = 1:900
    line([X(i), X(i)+1],[Y(i),Y(i)+2],'color',[color1(i),color2(i),color3(i)]);
    if i == 100 % nothings …
Run Code Online (Sandbox Code Playgroud)

matlab plot line imshow

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

imshow更新的问题

为什么图中的图像(用图表绘制imshow)在被另一个图像更新时会改变它的大小imshow

示范代码:

img = rand(100,100);
figure(1);
hold on;
imshow(img); % plot an image
pause(1);    % pause for demonstrational reasons
imshow(img); % update the image
Run Code Online (Sandbox Code Playgroud)

这只发生在第一次更新时.

matlab image

3
推荐指数
1
解决办法
719
查看次数

类名“I”的“歧义类定义”(Python 中的 Pep8)

问题:PEP8: amiguous class definition 'I'当我尝试定义 name 的类时, 为什么 PEP8 会发出警告I?我找不到任何内置I.

在此处输入图片说明

mwe.py:

class I:
    pass
Run Code Online (Sandbox Code Playgroud)

评论:

  • 其他单字母名称不会出现,例如 class E
  • 我无法访问任何其他内置类、对象或函数 I
  • 我在这个问题上的网络搜索没有成功,因为“ I”远不是一个独特的搜索词
  • 观察已在 PyCharm 2019.1.3 (Community Edition)

python class pep8 pycharm

2
推荐指数
1
解决办法
881
查看次数