我在matlab中寻找像列表推导这样的东西但是我在纪录片中找不到这样的东西。
在python中它会像
A=[i/50 for i in range(50)]
答案 0 :(得分:10)
答案 1 :(得分:5)
你可以这样做:
(1:50)/50
或者对于更一般的事情,您可以这样做:
f=@(x) (x/50);
arrayfun(f,1:50)
答案 2 :(得分:2)
不,Matlab没有列表推导。你真的不需要它,因为焦点应该放在数组级计算上:
A = (1:50) / 50
答案 3 :(得分:0)
如果您尝试做的事情与样本一样微不足道,那么您可以简单地进行标量划分:
A = (0:50) ./ 50
答案 4 :(得分:0)
有几种方法可以在Matlab中生成一个从0到49/50的列表,增量为1/50
A = (0:49)/50
B = 0:1/50:49/50
C = linspace(0,49/50,50)
编辑正如Sam Roberts在评论中指出的那样,即使所有这些列表都应该是等效的,但由于浮点错误,数值结果也不同。例如:
max(abs(A-B))
ans =
1.1102e-16
答案 5 :(得分:-1)
Matlab可以直接使用数组,使列表理解不那么有用