在基于特定cookie值的触发器触发中设置异常时,我需要帮助。
它看起来应该像这样:如果“ my_custom_cookie_name”的值为“ 0”,则不会触发该标记。你能帮我吗?我应该从哪里开始?我应该选择哪些参数来创建这种条件?
我正在实现一个非常简单的带通滤波器,它的输入参数是一个包含高通和低通滤波器的信号,停留时间和截止频率的向量:
typedef std::vector<double> vec;
vec bandPass(const vec& signal, double dwellTime, double lowCutoff, double highCutoff);
Run Code Online (Sandbox Code Playgroud)
我的界面的明显问题是函数调用者必须事先知道预期的时间和频率单位,并且如果必要的话可能必须经历适当地转换它们的烦恼.
我想我可能会std::chrono用来解决我的问题,但我还没有看到它被用来测量频率.我想拥有:
vec bandPass(const vec& signal, milliseconds dwellTime, kHertz lowCutoff, kHertz highCutoff);
Run Code Online (Sandbox Code Playgroud)
并让我的函数将所有单位转换为秒和赫兹进行计算.理想情况下,乘以毫秒和kHz会得到与乘以秒和Hz相同的结果.
有没有人遇到过类似的问题?是否合法的C++可以写出1/10s引用Hertz的内容?
我没有太多使用std :: chrono(以及C++)的经验,希望在定义我的界面之前我可以在这里收集一些智慧的话.任何其他建议也欢迎.
来自Python/Matlab背景,我想更好地理解Julia的Int64溢出行为是如何工作的.
从文档:
在Julia中,超出给定类型的最大可表示值会导致环绕行为.
julia> x = typemax(Int64)
9223372036854775807
julia> x + 1
-9223372036854775808
Run Code Online (Sandbox Code Playgroud)
现在,我做了一些实验,数字明显大于typemax(Int64),但我看到的行为与文档不一致.似乎事情并不总是只是环绕.只允许一个环绕?
julia> x = (10^10)^(10^10)
0
julia> x = 10^10^10^10
1 # ??
julia> x = 10^10^10^10^10
10 # I'd expect it to be 1? 1^10 == 1?
julia> x = 10^10^10^10^10^10
10000000000 # But here 10^10 == 10000000000, so now it works?
julia> typemax(Int64) > 10^19
true
julia > typemax(Int64) > -10^19
true
Run Code Online (Sandbox Code Playgroud)
任何人都可以了解我所看到的行为吗?
编辑:
为什么9正确溢出,10不正确?
julia> 9^(10^14)
-1193713557845704703
julia> 9^(10^15)
4900281449122627585
julia> 10^(10^2) …Run Code Online (Sandbox Code Playgroud) 我在下面的文章在这里笔者定义了以下宏:
(defmacro make-is-integral-multiple-of (n)
(let ((function-name (intern (concatenate
'string
(symbol-name :is-integral-multiple-of- )
(write-to-string n)))))
`(defun ,function-name (x)
(equal 0 (mod x, n)))))
Run Code Online (Sandbox Code Playgroud)
该宏易于阅读和理解,但我想知道:我们何时以及为什么明确需要该intern函数?
删除它会破坏宏,然后返回错误:
The value "IS-INTEGRAL-MULTIPLE-OF-3"
is not of type
(OR SYMBOL CONS).
Run Code Online (Sandbox Code Playgroud)
这是否意味着intern每次宏应该定义新符号时都必须调用它?intern在defmacro语句之外有任何用途吗?欢迎提供见解。
受这个问题的启发,我一直试图让图像无间隙地绘制.
在我的玩具示例中,我有四个图像,我想要分成两行.它们具有不同的形状:不同的行数,相同的列数.尽管存在差异,但它们应该在没有间隙的情况下适合单个图形,如下图所示:
但是,当我尝试将它们组合在一起时,设置plt.subplots_adjust(wspace=0, hspace=0)不起作用,因为图像具有不同的形状.
这是代码:
from numpy.random import rand
import matplotlib.pyplot as plt
test_data = [[rand(10,10), rand(10,10)],[rand(5,10), rand(5,10)]]
f, axarr = plt.subplots(2,2)
for i in range(2):
for j in range(2):
axarr[i, j].imshow(test_data[i][j])
plt.tight_layout()
plt.subplots_adjust(wspace=0, hspace=0)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我试着玩弄set_aspect和equal,但没有运气.
有谁知道如何消除这些差距?
我想计算每个之间的相关列向量矩阵的阿与每个列向量矩阵的乙。
考虑:
vectorsize = 777
A = np.random.rand(vectorsize, 64)
B = np.random.rand(vectorsize, 36)
corr = np.corrcoef(A, B, rowvar=False)
Run Code Online (Sandbox Code Playgroud)
np.corrcoef在这种情况下,的输出将是一个 100x100 的矩阵。这是什么意思?
直觉上我希望得到一个 64x36 的矩阵。
我有以下函数,给定形式的字符串'a-02/b-03/foobarbaz_c-04',它将提取a,b和c之后的数字。问题在于,就我的用例而言,输入字符串可能不包含c,因此将没有要提取的数字。
这是代码:
from typing import Tuple, Optional
def regex_a_b_c(name: str) -> Tuple[int, int, Optional[int]]:
a_b_info = re.search('a-(\d\d)/b-(\d\d)/', name)
a, b = [int(a_b_info.group(x)) for x in range(1, 3)]
c_info = re.search('c-(\d\d)', name)
if c_info:
c = int(c_info.group(1))
else:
c = None
return a, b, c
Run Code Online (Sandbox Code Playgroud)
我的问题是,尽管试图弄清楚最后一个返回参数是an Optional[int],但我还是不能让我的小子停止抱怨变量c。
我收到警告c =None说
分配中的类型不兼容(表达式的类型为None,变量的类型为int)
。我该如何解决这个问题?
是否有一个单线程(或简单的无环路)解决方案来解交织矢量的奇数和偶数条目?
例:
long entries[] = {0,1,2,3,4,5,6,7};
std::vector<long> vExample(entries, entries + sizeof(entries) / sizeof(long) );
vExample.intertwine(vExample.begin(),vExample.end()); // magic one liner I wish existed...
for (int i = 0; i < vExample.size(); i++)
{
std::cout << vExample[i] << " ";
}
Run Code Online (Sandbox Code Playgroud)
现在我想得到以下输出:
0 2 4 6 1 3 5 7
Run Code Online (Sandbox Code Playgroud) 我有一个arma::cube mycube(5,10,15);,我想要改变它的尺寸,就像在matlab中做的那样:
mycube = ones(5,10,15);
mycube = permute(mycube,[3 1 2]);
size(mycube) % returns (15 5 10)
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
会效率太低吗?
我实际上想要进行3D FFT,所以我想到了第一和第三维可以使用arma::fft,然后换回来.
如果我在REPL中调用以下lambda,一切都按照我的预期运行:
CL-USER> (funcall (lambda (x) x) 3)
3
CL-USER> ((lambda (x) x) 3)
3
Run Code Online (Sandbox Code Playgroud)
现在,如果我将lambda嵌套到另一个lambda中,我就不能在没有funcall的情况下调用它.
CL-USER> (funcall (funcall (lambda () (lambda (x) x))) 3)
3
CL-USER> (funcall ((lambda () (lambda (x) x))) 3)
3
CL-USER> (((lambda () (lambda (x) x))) 3)
; in: ((LAMBDA () (LAMBDA (X) X))) 3
; (((LAMBDA () (LAMBDA (X) X))) 3)
;
; caught ERROR:
; illegal function call
;
; compilation unit finished
; caught 1 ERROR condition
; Evaluation aborted on #<SB-INT:COMPILED-PROGRAM-ERROR {1009F09D13}>. …Run Code Online (Sandbox Code Playgroud) c++ ×3
python ×3
common-lisp ×2
armadillo ×1
c++-chrono ×1
c++11 ×1
cookies ×1
correlation ×1
imshow ×1
julia ×1
lambda ×1
lisp ×1
macros ×1
matlab ×1
matplotlib ×1
mypy ×1
numpy ×1
symbols ×1
typing ×1
vector ×1