要修复当前代码,需要在for循环中使用索引。
w=[5 4 3 2]
对于i=w
a3(6-i)=[1/(i+i)]
b3(6-i)=[i^i]
c3(6-i)=[i/sqrt(i)]
d3(6-i)=[(i^2)/(i^i)]
终止
此分配
a3(1)
在第一个循环中,
a3(2)
在第二种情况下,等等。代码重新分配标量
a3
每个循环。我使用的索引有些奇怪,因为我们正在循环
W
,这很好,它只是让指数更难跟踪。您可以通过使用计数器进行不同的操作:
w=[5 4 3 2]
j=1
对于i=w
a3(j)=[1/(i+i)]
b3(j)=[i^i]
c3(j)=[i/sqrt(i)]
d3(j)=[(i^2)/(i^i)]
j=j+1
终止
或者您可以从中获取for循环计数
1.
到
4.
:
w=[5 4 3 2]
对于i=1:4
a3(i)=[1/(w(i)+w(i))]
b3(i)=[w(i)^w(i)]
c3(i)=[w(i)/sqrt(w(i))]
d3(i)=[(w(i)^2)/(w(i)^w(i))]
终止
综上所述,我建议尽可能对代码进行“矢量化”。点运算符逐元素执行算术运算,请参阅点乘法文档
在这里
. 比如说整个
a3
向量可以这样定义: