2009-01-11 16 views
49

Genellikle MATLAB numaralı çizimi yaptığımda, her zaman aynı şekilde çizilir. Yeni bir şekilde nasıl çizebilirim?MATLAB'da yeni bir şekil nasıl oluşturulur?

Çok basit olduğunu biliyorum, ancak Google Arama'yı kullanarak bulamıyorum.

+3

Matlab'ın tümleşik yardımı ('doc') gerçekten yararlıdır ve arama aracı iyi çalışır. – wap26

cevap

74
figure; 
plot(something); 

veya

figure(2); 
plot(something); 
... 
figure(3); 
plot(something else); 
... 

vb

+0

MATLAB'da bir ayar var mıdır, böylece her defasında "çizim" komutunu verdiğimde, şekil (n) yazıp arsa yazmadan yeni şekil penceresine mi çizilir? – chandresh

+0

@Federico A. Ramponi Neden şekil (1) ile başlamıyor, ancak şekil (2) ile başlamıyorsunuz? – kyle

12

, taze bir arsa ne zaman başlıyor clf (net rakam) komutunu kullanmaktır konusunda dikkatli olmak başka şey. Aksi halde önceden mevcut bir şekil üzerinde çizim yapabilirsiniz (figure komutunun kendisi ile mümkün değildir, ancak figure(2) yaparsanız zaten bir rakam olabilir), birden fazla eksen ya da komik bir eksen yerleştirilmiş olabilir .

figure(N); 
clf; 
plot(something); 
... 
22

"şekil (1), şekil (2), ..." çoğu durumda sorunu çözecektir yaparken ortaya onları çözmez: Sıfırdan başlıyoruz sağlamak için clf kullanın Tüm vakalar. Masaüstünüzde bir dizi MATLAB rakamınız olduğunu ve kodunuzu çalıştırmadan önce açık olan sürelerinizin zaman zaman değiştiğini varsayalım. Sağlanan cevapları kullanarak, istemediğiniz bu rakamların üzerine yazacaksınız. Kolay çözüm, çizim yapmadan önce "şekil" komutunu kullanmaktır.

Örnek: Eğer ran bir önceki komut masaüstünüzde beş rakamlar varsa ve

figure(1); 
plot(...) 

figure(2); 
plot(...) 

Sadece masaüstünüzde rakamlar üzerinde çizilen kullanın. Ancak

kodları sadece istediğiniz şekillerde 6 ve 7 rakamlarını oluşturdu ve tek başına 1-5 önceki grafiklerinizi bıraktı.

3

Daha önce de belirtildiği gibi: figure, sonraki grafikleriniz için yeni bir rakam yaratacaktır. figure numaralı telefonu arayarak da yapılandırabilirsiniz. Örneğin: Örnek, pencerenin adını ve kullanılan ekrana göre dış boyutunu ayarlar. Bu örnek, pencerenin adını ve kullanılan ekrana göre dış boyutunu belirler. Bu örnek, pencerenin adını ve kullanılan ekrana göre dış boyutunu belirler. Burada figHandle ortaya çıkan şeklin tutamacıdır ve görünümü ve içeriği değiştirmek için daha sonra kullanılabilir. Örnekler:

Nokta notasyonu:

figHandle.PaperOrientation = 'portrait'; 
figHandle.PaperUnits = 'centimeters'; 

Eski Stil:

set(figHandle, 'PaperOrientation', 'portrait', 'PaperUnits', 'centimeters'); 

nokta gösterimi veya set ile kolu kullanarak, baskı için seçenekler burada yapılandırılır.

Rakamlar için tutamaçları tutacağınız isimleri tutarak birden fazla aktif rakamla etkileşimde bulunabilirsiniz. Mevcut bir rakamı aktif olarak ayarlamak için figure(figHandle)'u arayın. Yeni parseller şimdi oraya gidecek.Tek bir pencerede aynı (yeni) şekil üzerinde

f = figure; 
hold on 
plot(x1,y1) 
plot(x2,y2) 
... 

araziler birden fazla veri setleri birden araziler istiyorsun zaman

+0

@Masi: Bu yine de mümkün olabilir, ancak sadece şekil ('İsim', isim) ile çalışır. Bunu test edebilir misin? Son Matlab sürümleri ile, rakam özelliklerine nokta notasyonu üzerinden de erişebilirsiniz: figure.Name = 'myFigureName' – Grebu

+1

Figürü kullanmayı deneyin ('İsim', 'Şekil Adı'). İlk dize mülk ve ikincisi bunun için kullanılacak değerdir. Nokta kuralı, bir seferde bir özelliğe erişmek için kullanılır. Matlab2012/13'de şekil vb. Için uygulanmadığını düşünüyorum. Ancak, özel sınıflar tarafından zaten kullanılabilir. – Grebu

0

kadar basit bu-

figure, plot(yourfigure); 
1

olarak Başka bir ortak seçenektir.