不同的迭代输出
我在matlab中有这个
A=34;
for i =1:1:6
A = A + 1;
t1=fix(A/(2*32));
t2=fix((A-(t1*64))/(32));
t3=fix(((A-(t1*64)) - (t2*32))/(16));
G = [t1 t2 t3]
end
当它显示时,它给出了
G= 0 1 0
G= 0 1 0
G= 0 1 0 ....to the 6th G(the values are not right anyway)
but I want to have an output of
G1= 0 1 0
G2= 0 1 0
G3= 0 1 0....to G6
然后cat.or将它们放入一组G = [G1,G2,G3,...,G6]。请问如何完成这项工作?
没有找到相关结果
已邀请:
2 个回复
渴翅吮斡撤
预先分配为6乘3的零矩阵,然后在循环中索引到矩阵的给定行以存储值:
矢量化操作: 在许多情况下,您可以在MATLAB中完全避免循环,并且通常使用向量化操作来加速代码。在您的情况下,您可以为
创建值向量,并使用算术数组运算符
和
在元素方面执行
,
和
的计算:
这里的奖励是
将自动结束为包含您想要的所有值的6乘3矩阵,因此不需要预分配或索引。 显示输出: 如果要创建格式化输出,该输出不同于在行尾省略分号时出现的默认数字显示,则可以使用类似
的函数。例如,要获得您想要的输出,您可以在创建
之后运行它,如上所述:
粳饶瓢部
这应该使用新计算的值扩展G.