我试图制作一个matlab代码来存储数组。我想创建一个包含5行和3900列的矩阵,以在其中存储五个不同的数组。 每次我运行我的matlab代码时,它应该将数组存储在第一个空行中,下次运行代码时,矩阵应该将新数组存储在第二个空行中,依此类推,直到所有五行被五个不同的数组占用。
这是我的代码:
double
此代码不能提供我想要的内容
即使这个人没有像我上面所描述的那样做正确的工作
b
和这个
matrix = zeros(5,3900);
k=1;
d=5;
if k<=d
matrix(k,:) = Array;
k=k+1;
end
我应该怎么做才能在第一次只在一行中存储一个大小为1 * 3900的数组,在下一次运行中我希望另一个数组存储在第二行中,依此类推,直到第5行?
谢谢大家
答案 0 :(得分:0)
根据我的理解,您希望多次运行代码,但每次array
都不同,这就填满了矩阵。
在您的示例中,每次运行代码时都会覆盖matrix
和k
,而且(如果我理解你的话)正在阻止正确执行。你能做的就是:
matrix = zeros(5,3900);
和k=1;
matrix = zeros(5,3900);
k=1;
在这种情况下,matrix
和k
应按您的意愿增加。
编辑:
您发布的第一个代码将执行以下操作(每次运行时):
matrix
已经存在,那么它将被完全覆盖k
和d
相同,但分别为1和5 k<=d
:此条件始终为真,因为k = 1
和d = 5
matrix
的第一行分配array
的值(第一行因为k = 1
)k
所以你看到#5声明没有影响,因为每次运行代码时k
和matrix
都会被覆盖。
所以你要做的就是不要在代码的开头设置matrix = zeros(5,3900);
k=1;
。这样matrix
和k
保持不变。但是,在第一次运行代码(如果不是Matlab不知道k
是什么时)之前,您必须注意在matrix
和k
进行初始化。
现在这个更清楚吗?
米莎