0

我想在 matlab 中预分配一个矩阵以消除内存不足错误,但是我如何使用预分配进行 while 循环?我们对这样的 for 循环使用预分配:

m=10000;
x=zeros(m,1)

for i = 1:m
    x(i) = i
end

但是如果我想在一段时间循环中执行此操作怎么办

m = 10000
x = 1
i=0
some_criteria = 10
while x<some_criteria
     i = i+1
     x(i) = i
     some_criteria = f(x)
end
4

1 回答 1

1

try this:

 m = 10000
x=zeros([],1);
i=0
some_criteria = 10
while x<some_criteria
     i = i+1
     x(i,1) = i
     some_criteria = f(x)
end

if you write x(i) instead of x(i,1), the result will be a row vector.

于 2021-12-26T11:54:48.030 回答