我想计算n矩阵的下一个相邻元素的乘积.n要乘以的元素数量应在函数输入中给出.例如,对于此输入,我应该从第一个开始计算每3个连续元素的乘积.
[p, ind] = max_product([1 2 2 1 3 1],3);
Run Code Online (Sandbox Code Playgroud)
这给了[1*2*2, 2*2*1, 2*1*3, 1*3*1] = [4,4,6,3].
有没有实用的方法呢?现在我这样做:
for ii = 1:(length(v)-2)
p = prod(v(ii:ii+n-1));
end
Run Code Online (Sandbox Code Playgroud)
v输入向量在哪里,是n要乘的元素数.
在此示例中,n=3但可以采用任何正整数值.
根据n是奇数还是偶数还是length(v)奇数或偶数,我有时得到正确的答案但有时会出错.
例如参数:
v = [1.35912281237829 -0.958120385352704 -0.553335935098461 1.44601450110386 1.43760259196739 0.0266423803393867 0.417039432979809 1.14033971399183 -0.418125096873537 -1.99362640306847 -0.589833539347417 -0.218969651537063 1.49863539349242 0.338844452879616 1.34169199365703 0.181185490389383 0.102817336496793 0.104835620599133 -2.70026800170358 1.46129128974515 0.64413523430416 0.921962619821458 0.568712984110933]
n = 7
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Index exceeds matrix dimensions.
Error in max_product …Run Code Online (Sandbox Code Playgroud) 我有一个简单的任务来计算用户帐户余额的总和或平均值。
用户在该月内可能有负余额或正余额。这是当月的用户余额示例
95.63
97.13
72.14
45.04
20.04
10.63
-29.37
-51.35
-107.55
-101.35
-157.55
-159.55
-161.55
Run Code Online (Sandbox Code Playgroud)
我想要
选择负值,计算它们的总和/平均值
选择正值,计算它们的总和/平均值
用 2 列表示它们
想要的结果
340.61 -768.27
Run Code Online (Sandbox Code Playgroud)
当我使用UNION运算符时,我得到两行。使用CASE.. WHEN..它时对余额进行分组,我收到多行。
我的 postgres 查询中有其他聚合函数,因此我希望它们中的每一个都显示在单独的列中。有没有办法做到这一点?