matlab 中如何将多矩阵存储在一个文件中,由于循环每一次都会生成一个矩阵,矩阵名是变化的
matlab中如何将多矩阵存储在一个文件中,由于循环每一次都会生成一个矩阵,矩阵名是变化的,但结果只保存了最后一个矩阵,名称不一样啊,为什么会这样?这是代码的一部分...
matlab 中如何将多矩阵存储在一个文件中,由于循环每一次都会生成一个矩阵,矩阵名是变化的,但结果只保存了最后一个矩阵,名称不一样啊,为什么会这样?
这是代码的一部分 展开
这是代码的一部分 展开
1个回答
2016-07-07
展开全部
你每次循环生成的值是什么形式——标量,向量,矩阵,或是不定?标量的情况最简单,如果是向量和矩阵,就要考虑你打算用什么样的形式存储了。
通常采用两种方法(以标量为例):
1、把新的结果存在下标为end+1的位置,数组会自动扩展,例如:
A=[]; for i=1:10, A(end+1)=i^2; end
2、预置数组(一般使用zeros),并设置一个计数器标记数组当前的存储位置,然后用该计数器作为下标进行存储。例如:
A=zeros(10000,1); idx=0; while idx<10000, idx=idx+1; A(idx)=idx^(1/idx); end
前一种做法用起来可能更省事一些,但如果循环次数多,数组反复自动扩展会造成效率很低,这种情况应该考虑使用第二种方法。
通常采用两种方法(以标量为例):
1、把新的结果存在下标为end+1的位置,数组会自动扩展,例如:
A=[]; for i=1:10, A(end+1)=i^2; end
2、预置数组(一般使用zeros),并设置一个计数器标记数组当前的存储位置,然后用该计数器作为下标进行存储。例如:
A=zeros(10000,1); idx=0; while idx<10000, idx=idx+1; A(idx)=idx^(1/idx); end
前一种做法用起来可能更省事一些,但如果循环次数多,数组反复自动扩展会造成效率很低,这种情况应该考虑使用第二种方法。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询