import some cellls data from a program into another one.
2 次查看(过去 30 天)
显示 更早的评论
Hi all
I've written a program named "a.1" which its output is some cells. Hence this program is too long and time-consuming in running, I have to use just the outputs as the input of another program, which named "a.2" .
For example: following loops and corresponding " ropt_final_matrix{t}(ss,qq)" are the outputs of program a.1.
for t=1:T
for ss=1:ns
for qq=1:nq
ropt_final_matrix{t}(ss,qq)=ropt_final{t,ss}(qq,1);
end
end
end
I want to use just " ropt_final_matrix{t}(ss,qq)" as the input of program a.2, without frequently running of program a.1.
1.How can I do it?
2.How can I export, save and import some outputs in the form of cells?
Could you please clearly guide me?
Thanks,
1 个评论
Walter Roberson
2012-1-19
Please do not use your initials for the Tag. You can find your own posts easily using the My Questions feature. The Tag is to allow categorization of related posts.
采纳的回答
Walter Roberson
2012-1-19
save('ropt_final_matrix.mat', ropt_final_matrix)
and in a2,
indata = load('ropt_final_matrix.mat');
ropt_final_matrix = indata.ropt_final_matrix;
By the way, part of the reason your program is so slow is that you are not pre-allocating memory.
ropt_final_matrix = cell(T,1); %NEW
for t=1:T
ropt_final_matrix{t} = zeros(ns, nq); %NEW
for ss=1:ns
for qq=1:nq
ropt_final_matrix{t}(ss,qq)=ropt_final{t,ss}(qq,1);
end
end
end
2 个评论
Walter Roberson
2012-1-20
Your loop "for qq" can be removed and replaced with
ropt_final_matrix{t}(ss,1:nq) = ropt_final{t,ss}(1:nq,1);
Also if nq is certain to be the exactly the same as the number of rows in all ropt_final{t,ss} then the 1:nq can be changed to : with no explicit range.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Whos 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!