如果我有这个,我会收到错误
sum(vector) == cumsum(vector)(length(vector))
>> Error: ()-indexing must appear last in an index expression.
我知道我可以这样做:
Vec1 = cumsum(mat);
sum(mat) == Vec1(length(mat))
这将返回逻辑值 1。
是否有其他方法可以将所有内容都放在一行上?
最佳答案
好吧,如果你绝对决心用一句话来完成,
sum(vec) == subsref(cumsum(vec),struct('type','()','subs',{{numel(vec)}}))
但这是对 subsref
的边缘滥用,通常用于重载自定义类中的下标运算符(即 {}
、()
、.
)。
关于Matlab,创建额外向量的替代方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19143854/