import some cellls data from a program into another one.
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentario
Walter Roberson
el 19 de En. de 2012
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.
Respuesta aceptada
Walter Roberson
el 19 de En. de 2012
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 comentarios
Walter Roberson
el 20 de En. de 2012
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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Whos en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!