如何在matlab中将向量提升为幂?
使用如何在matlab中将向量提升为幂?,matlab,vector,vectorization,Matlab,Vector,Vectorization,使用FreeMat我一直在尝试将向量提升到2的幂,使用以下代码: v=[4 -3 8 -7 2 -10 11 4] disp('v before = ') disp(v) for i=1:1:length(v) if (v<0) & (v>-8) v(i)=v(i)^2 end end disp('v after = ') disp(v) v=[4-38-72-10114] disp('v before=')) 显示(五) 对于i=1:1:长度(v
FreeMat
我一直在尝试将向量提升到2的幂,使用以下代码:
v=[4 -3 8 -7 2 -10 11 4]
disp('v before = ')
disp(v)
for i=1:1:length(v)
if (v<0) & (v>-8)
v(i)=v(i)^2
end
end
disp('v after = ')
disp(v)
v=[4-38-72-10114]
disp('v before='))
显示(五)
对于i=1:1:长度(v)
如果(v-8)
v(i)=v(i)^2
结束
结束
disp('v after='))
显示(五)
但是它不断返回相同的值。
- 为什么?李>
- 正确的方法是什么
if (v<0) & (v>-8)
if(v-8)
到
if(v(i)-8)
为什么不使用逻辑索引将其矢量化?不适用于循环\如果需要条件:
v(v<0 & v>-8)=v(v<0 & v>-8).^2
v(v-8)=v(v-8)。^2
v(v<0 & v>-8)=v(v<0 & v>-8).^2