2013-08-12 21 views
5

ile karşılaştırıldığında çok yavaştır. Düzenli olarak birçok rakamı (yüzlerce) tek bir dosyaya vermek zorundayım. Şu anda kullanıyorum Benim kodum her yeni rakam için yeniden kullanılan bir tek gizli şekil kullanır. Şimdi, problem şu ki, saniyede yaklaşık 8 rakamlık bir maksimum ihracat hızına ulaşabiliyorum. R'de, saniyede 200 rakamı kolaylıkla çizebilirsiniz. MATLAB'ın ihracat yeteneklerini nasıl hızlandıracağı (önemli ölçüde) herhangi bir önerisi var mı?MATLAB rakam ihracı, R

Oca

+0

Bu, * yazdırma * eyleminden ziyade, bu şekil ve çizim * nesli * olabileceğinden şüpheleniyorum. En azından, * grafikleri * oluşturmak için gereken zamandan * baskı * için gereken zamanı ayırmak için işi yapmadığınız anlaşılıyor. Ben şunu söyleyeyim, çünkü * basma * arandığınızı görmeniz için * aramanız değil (örneğin, http://www.mathworks.com/help/ adresinde açıklanan ** tanıtıcı ** argümanı) matlab/ref/print.html). Bahse girerim, kodu grafikler oluşturmak için gönderirseniz, bunu hızlandırmanıza yardımcı olabiliriz. Veya MATLAB Profiler'i kendiniz de kullanabilirsiniz. –

+0

@BobGilmore: Hayır. Postscript için en basit rakamların basılması, hızlı bir bilgisayar üzerinde bile 0.11 ila 0.13 saniye sürüyor; – horchler

+0

Teşekkürler @BobGilmore. Aslında, bu aslında ihracatla ilgili değil, nesille ilgili. Aynı rakamı tekrar ve tekrar ihraç ederseniz bunu görebilirsiniz: 'şekil; arsa (rand (10,10)); tic; I = 1: 100 için yazdırma ('- dpsc2', 'test.ps', '-append'); sonu; toc', makinemde yaklaşık 10 saniye sürüyor. – Jan

cevap

6

Acını hissediyorum. Bu sorun, film oluşturmak için getframe işlevinin neden bu kadar verimsiz olmasının da nedeni. Bu konuda bildiğim tek yol, düşük düzey hardcopy işlevini çağıran daha basit bir işlev yazmaktır. İşte bazı uyarılar ile birlikte an example of this for image-based graphics. , print(gcf,'-dpsc2', 'outfile.ps', '-append'); Oysa

hardcopy(gcf,'outfile.ps','-dpsc2','-append'); 

yaklaşık 0.12 saniye sürer yukarıda benim makinede sadece 0.004 saniye sürer: hardcopy işlevi print yaptığı 'dpsc2' ve 'ekleme' seçenekleri destekler!

help hardcopy yaparsanız çok fazla bilgi alamazsınız. Ancak, herhangi bir şeyi tersine çevirmeniz gerekirse, print (edit print) kodunu veya aradığı çeşitli özel işlevleri okuyabilirsiniz (ör. edit private/render, edit private/paperfig, edit private/ghostscript).

+0

Teşekkürler! Bu harika! Çizim kodum için, 'print 'çağrımı' hardcopy 'çağrısı ile değiştirebilirdim ve gayet iyi çalışıyordu. Sadece bir özellik: Beyaz bir arka plan elde etmek için, dışa aktarma işleminden hemen önce renk değiştirme komutunu son grafik komutu olarak çağırmam gerekiyordu. Tekrar teşekkürler! – Jan

+0

Bunun sizin için geçerli olup olmadığından emin değilsiniz, ancak döngü açmanın da size yardımcı olabilir. – Veridian

+0

@starbox: Bunun işe yarayacağından emin değil. Ben print 'profil' ve ihracat için şekil hazırlarken sadece zaman harcıyor. hardcopy’un özünde bir komut olduğu anlaşılıyor. – Jan