[]
basit bir matlab sorusu - grafik ve fonksiyonu ile ilgili
Selamlar,
Konuyu basitleştirerek anlatmaya çlışacağım:
x ve y'ye bağlı bir z fonksiyonu olduğunu düşünelim.
yalnız x'in iki kategorili değer alması söz konusu (aslında x'de a'ya bağlı bir fonksiyon)
a<0.1 için x1 fonksiyonu kullanılmalı
a>0.1 için x2 fonksiyonu kullanılmalı
dolayısıyla z1 ve z2 fonksiyonları üretiliyor.
surface grafik çizdirmeye çalışıyorum, ve bu grafik a'nın her iki kategorisi için çizdirilmeli. Bunu nasıl yapabiliriz. Bir if else şartı koymak mümkün müdür matlab'da, eğer mümkünse nasıl yapılabilir?
Yani şöyle bir şey:
if a<0.1 surf(x,y,z1)
if a>0.1 surf (x,y,z2)
ama dediğim gibi aynı grafik içerisinde olmalı. iki ayrı grafik şeklinde değil.
Umarım problemimi anlatabilmişimdir. vakit ayırdığınız için şimdiden teşekkürler.
ufak bir düzeltme yaptım duyurumda.
Konuyu basitleştirerek anlatmaya çlışacağım:
x ve y'ye bağlı bir z fonksiyonu olduğunu düşünelim.
yalnız x'in iki kategorili değer alması söz konusu (aslında x'de a'ya bağlı bir fonksiyon)
a<0.1 için x1 fonksiyonu kullanılmalı
a>0.1 için x2 fonksiyonu kullanılmalı
dolayısıyla z1 ve z2 fonksiyonları üretiliyor.
surface grafik çizdirmeye çalışıyorum, ve bu grafik a'nın her iki kategorisi için çizdirilmeli. Bunu nasıl yapabiliriz. Bir if else şartı koymak mümkün müdür matlab'da, eğer mümkünse nasıl yapılabilir?
Yani şöyle bir şey:
if a<0.1 surf(x,y,z1)
if a>0.1 surf (x,y,z2)
ama dediğim gibi aynı grafik içerisinde olmalı. iki ayrı grafik şeklinde değil.
Umarım problemimi anlatabilmişimdir. vakit ayırdığınız için şimdiden teşekkürler.
ufak bir düzeltme yaptım duyurumda.
Şu sayfadaki plot piecewise durumu iyi özetliyor.
www.mathworks.com
piecewise komutu ile yapabilirsin sonuç olarak.
www.mathworks.com
piecewise komutu ile yapabilirsin sonuç olarak.
- aychovsky (04.12.13 14:27:30)
x1 için a'yı 0'dan 0.1'e kadar tanımlayıp (artışı kendin belirlersin)
x2 için a yerine b diye değişken kullan ve 0.1'den daha büyük değerler ver b'ye.
surf (x1,y,z)
hold on
surf (x2,y,z)
ama yukarıda dediğinde z1 ve z2 diye iki farklı z değişkeni var onları anlamadım.
x2 için a yerine b diye değişken kullan ve 0.1'den daha büyük değerler ver b'ye.
surf (x1,y,z)
hold on
surf (x2,y,z)
ama yukarıda dediğinde z1 ve z2 diye iki farklı z değişkeni var onları anlamadım.
- godsparticle (04.12.13 14:40:08)
piecewise +1
bir diger kolay yontem de, hepsini ayri ayri tanimlayip en son birlestirmek olabilir.
x12 = [x1;x2];
z12 = [z1;z2];
y12 = [y1;y2];
surf(x12,y12,z12);
bir diger kolay yontem de, hepsini ayri ayri tanimlayip en son birlestirmek olabilir.
x12 = [x1;x2];
z12 = [z1;z2];
y12 = [y1;y2];
surf(x12,y12,z12);
- raist (04.12.13 15:58:57)
1