Hallo,
ich nutze folgenden Code um ein 3-dimensionales Array in ein Matlabfile zu speichern:
Delphi-Quellcode:
{ 3D-Matrix mit Parametern }
for iz := 0 to G.z-1 do begin
V_line := format('%s (:,:,%d) = [',[ArrayName,iz+1]) ;
for ix := 0 to G.x-1 do begin
for iy := 0 to G.y-1 do with Thread.Cells[ix,iy,iz] do begin
V_line := V_line + format('%s ',[FloatToStr(C)]) ;
if (iy = G.y-1) and (ix < G.x-1) then begin
V_line := V_line + '; ' ;
end ;
end ;
end ;
V_line := V_line + '] ;' ;
writeln (FF,V_line) ;
V_line := '' ;
end ;
Das klappt auch soweit, nur ist das alles sehr zäh und lahm. G.x, G.y, G.z betragen 100. Es wird also 100^3=1.000.000 mal durchlaufen, was ja im Grunde nicht viel ist für ein 2.5GHz Rechner. Kann es eventuell sein daß FloatToStr extrem langsam ist und sich nach 1000000 mal bemerkbar macht?