用Matlab创建向量
在这段代码中,我试图得到要打印的向量,用数字3替换每个元素,直到第一个数字小于50为止用Matlab创建向量,matlab,loops,vector,Matlab,Loops,Vector,在这段代码中,我试图得到要打印的向量,用数字3替换每个元素,直到第一个数字小于50为止 z=[4 3 2 5 7 9 0 64 34 49]; counter=1; while counter<length(z) if z(counter) >0 && z(counter) < 50 z(counter)=3; end counter=counter+1; end z z=[43257906434
z=[4 3 2 5 7 9 0 64 34 49];
counter=1;
while counter<length(z)
if z(counter) >0 && z(counter) < 50
z(counter)=3;
end
counter=counter+1;
end
z
z=[4325790643449];
计数器=1;
而计数器0和z(计数器)<50
z(计数器)=3;
结束
计数器=计数器+1;
结束
Z
代替z(计数器)=3…为什么我不能用z=[z 3]替换它?
为什么我不能用z=[z3]替换代码的第五行。Matlab不会让我做的
我对逻辑感到困惑。您可以使用
z(z<50 & z>0)=3;
z(z0)=3;
语句
z=[z3]
将值3附加到向量z
,这似乎不是您想要的。相反,z(counter)=3
用3
替换由counter
索引的当前元素 不太清楚你所说的z(计数器=3)
。。。这不会出现在您的代码中。你是说z(计数器)=3
?你说你想替换元素“直到你的第一个数字小于50”,但你的代码不是这样做的。此外,您的第一个数字(即4)小于50,因此您所描述的内容对示例数据没有任何影响。这是正确的吗?或者你描述的不正确?z(计数器)=3在第五行。我想知道为什么我不能用z=[z3]替换它。我很困惑,为什么当我使用z=[z3]时,matlab不让我这么做。