【发布时间】:2014-06-01 18:32:23
【问题描述】:
如果不使用 if 语句或循环,我无法准确理解如何回答这个问题。
n = input ('What is the vector length? ');
y = rand(n,1);
x = rand(n,1);
p = zeros(n,1);
for i=1:n
if (y(i) > 0.5 && x(i) < 0.5) || y(i) < 0.2
p(i) = y(i) + x(i);
else
p(i) = (y(i)*x(i))^2
end
end
a) 重新实现 仅使用向量运算和逻辑索引的代码(即,您 不能使用任何循环或分支)。
【问题讨论】:
标签: arrays matlab indexing conditional vectorization