Matlab 4 bilinmeyenli denklemler

Başlatan robikod, 22 Ekim 2017, 15:44:15

robikod

Merhaba,
Elimde 4 tane bilinmeyenli,

x=-(2*10^4)*k
y=(2*10^4)*k
z=-3+1*(sqrt(y+0.6)-sqrt(0.6))
k=(10^(-4))*(x-z)^2

denklemleri var.  Bu denklemleri matlabda nasıl çözdürebilirim ?
solve ile denedim ama k'nın eşiti 2. derece denklem olduğundan çözüme ulaşamadım

robikod


erpay

Soruyu mu çözmeye çalışıyosun yoksa bu iş matlabda nasıl yapılır onu mu ?

DieHardMetalHead

#3
https://www.mathworks.com/matlabcentral/answers/84057-how-can-i-solve-this-complex-4-equation-with-4-unknowns?requestedDomain=www.mathworks.com

buradaki kaynağa göre denklemleri tek tek equ1=xyz equ2=qwe diye tanımlayıp daha sonra sol=solve(equ1,equ2,equ3.........) diye girdi verdiğinde çözemsi gerekiyor(muş).


edit=zaten denemişsin kusura bakma...

kendime not:mesajı tam okumadan cevap yazma.
Murat Arslan - BŞEÜ - EEM

Cemre.

Emin olmamakla birlikte,



Emin olmamamın sebebi başlangıç değerleri değiştirildikçe sonucun değişmesi ve MATLAB'ın çözümü sunarken hatadan bahsetmesi. Belki de ben denklemleri dönüştürürken hata yaptım. Umarım faydalı olur...

Firzen

Alıntı yapılan: DieHardMetalHead - 22 Ekim 2017, 22:42:06
https://www.mathworks.com/matlabcentral/answers/84057-how-can-i-solve-this-complex-4-equation-with-4-unknowns?requestedDomain=www.mathworks.com

buradaki kaynağa göre denklemleri tek tek equ1=xyz equ2=qwe diye tanımlayıp daha sonra sol=solve(equ1,equ2,equ3.........) diye girdi verdiğinde çözemsi gerekiyor(muş).


edit=zaten denemişsin kusura bakma...

kendime not:mesajı tam okumadan cevap yazma.


Murat solve komutu iki sistemin katsayılarını eşitlemek için sıfır eşitsizliğinde kullanılıyor.

1- Burada yapılması gerek sistemi 4x4 matris haline getimek. Ardından matris haline gelen sistemin eigen valuelerine bakılıp çözülebilir.
2- Bu soruyu soran azıcık daha dikkatli baksa soru 4 değil 3 bilinmeyenli. K değişke x değişkeni cinsinden tanımlı.


NOT = Murat sınav haftan foruma gireceğine git ders çalış o not ortalamasını yükselt. :P
KENDİME NOT = foruma gireceğime önce elimdeki konuları bitireyim :(
University of Idaho                                  Postdoctoral Fellow

berat23

nerede yüksek mühendisler?

buradaki denklemler aslında 2 bilinmeyenli, x,y ve z k ile ifade edilebilir. dolayısıyla fantezi yapmadan z=k denklemi ile tek bilinmeyene indirgenir, çözülür.

öte yandan böyle nonlinear denklemleri solve fonksiyonu ile çözemezsiniz, solve linear denklemleri çözer ki zaten onun çok daha kolay metodları var. mesela gauss jordan, pseudo inverse(ki matlab ile tek satır ters bölme) gibi metodlarla çözülür. eğer denklem nonlinear ise onun için fsolve var. bu fonksiyon temelde nümerik optimizasyon yapar. bu durumda ilk değer, lokal minimum gibi ciddi sorunlarınız olur. eğer fantastik nonlinear denklemleriniz varsa ilk değeri belirlemek basit değildir, anlamsız bir local minima da takılabilirsiniz. bu tip optimizasyon problemleri ezbere sonuç bulunacak işler değildir, denklemler nerden gelip nerdeye gidiyor bilmek gerekir.

böyle denklem seti fantastik çıkıyorsa önce durup temele bakmak lazım, acaba benim matematiksel fenomenim ne diyor diye. yoksa isterseniz 12.derece polinom ile modelleyin ama sonuç y=ax^2 ise anlamlı olmaz.

robikod

#7
Bu denklemler aslinda mosfet devresinden buldugum denklemler. Kolay olsun diye vgs ids yazmadim. O yuzden matlabdan cozum yapmak istiyorum. Vpsolve ile deneyip bi sonuc buldum. Ancak istedigim seyler bir sonuc dizi iterative bir cozum gibi nasil yapabilirim ? Saturasyonda oldugunu varsayarsak :

robikod


robikod

Alıntı yapılan: berat23 - 23 Ekim 2017, 01:16:58
nerede yüksek mühendisler?

buradaki denklemler aslında 2 bilinmeyenli, x,y ve z k ile ifade edilebilir. dolayısıyla fantezi yapmadan z=k denklemi ile tek bilinmeyene indirgenir, çözülür.

öte yandan böyle nonlinear denklemleri solve fonksiyonu ile çözemezsiniz, solve linear denklemleri çözer ki zaten onun çok daha kolay metodları var. mesela gauss jordan, pseudo inverse(ki matlab ile tek satır ters bölme) gibi metodlarla çözülür. eğer denklem nonlinear ise onun için fsolve var. bu fonksiyon temelde nümerik optimizasyon yapar. bu durumda ilk değer, lokal minimum gibi ciddi sorunlarınız olur. eğer fantastik nonlinear denklemleriniz varsa ilk değeri belirlemek basit değildir, anlamsız bir local minima da takılabilirsiniz. bu tip optimizasyon problemleri ezbere sonuç bulunacak işler değildir, denklemler nerden gelip nerdeye gidiyor bilmek gerekir.

böyle denklem seti fantastik çıkıyorsa önce durup temele bakmak lazım, acaba benim matematiksel fenomenim ne diyor diye. yoksa isterseniz 12.derece polinom ile modelleyin ama sonuç y=ax^2 ise anlamlı olmaz.
Ben bu kadar ileri seviye matlab bilmiyorum. Yeni başladım sayılır. Tam olarak anlayamadım ben şimdi yukarda anlattığım gibi bir surumda nasıl çözmeliyim.

Firzen

Alıntı yapılan: berat23 - 23 Ekim 2017, 01:16:58
nerede yüksek mühendisler?

buradaki denklemler aslında 2 bilinmeyenli, x,y ve z k ile ifade edilebilir. dolayısıyla fantezi yapmadan z=k denklemi ile tek bilinmeyene indirgenir, çözülür.

öte yandan böyle nonlinear denklemleri solve fonksiyonu ile çözemezsiniz, solve linear denklemleri çözer ki zaten onun çok daha kolay metodları var. mesela gauss jordan, pseudo inverse(ki matlab ile tek satır ters bölme) gibi metodlarla çözülür. eğer denklem nonlinear ise onun için fsolve var. bu fonksiyon temelde nümerik optimizasyon yapar. bu durumda ilk değer, lokal minimum gibi ciddi sorunlarınız olur. eğer fantastik nonlinear denklemleriniz varsa ilk değeri belirlemek basit değildir, anlamsız bir local minima da takılabilirsiniz. bu tip optimizasyon problemleri ezbere sonuç bulunacak işler değildir, denklemler nerden gelip nerdeye gidiyor bilmek gerekir.

böyle denklem seti fantastik çıkıyorsa önce durup temele bakmak lazım, acaba benim matematiksel fenomenim ne diyor diye. yoksa isterseniz 12.derece polinom ile modelleyin ama sonuç y=ax^2 ise anlamlı olmaz.

Yüksek Mühendis Burada Hocam.

Soru: Optimizasyon Yöntemi dediniz ki ben afedersiniz tabiri caizse hayvan gibi derslerini aldım. Bu sistemde infumum ve supremum noktaları global noktalarla aynı. Tutup bunun için optimizasyona gerek duyulmaz. Evet sistem nonlinear gibi durabilir ama tek bir çalışma noktası seçilip linear denklemleri matris formda yazılabilir. Bunun için gerçekten optimizasyon gerekli mi?


@robikod Bu MOSFET denklemleri ile ne bulmak istiyorsun?
Bunun için matlab function yerine simulink powerelectronics toolbox'ı kullansan daha hızlı öğrenirsin. Yok illada sistem üzerinde matlab function da istiyorsan 3x3 matris forma getirebilirsin 4x4 yerine.
University of Idaho                                  Postdoctoral Fellow

Epsilon

@robikod
http://www.wolframalpha.com/
Buraya denkleminizi yazın "Step by step" diye çözümüde var ,verdiği ipuçlarını MATLAB da deneyebilirsiniz
(Pro sürümünde adamlar ,denklemin resmini eklediğinde  çözdürüyorlar )

berat23

Alıntı yapılan: Firzen - 23 Ekim 2017, 21:56:53
Yüksek Mühendis Burada Hocam.

Soru: Optimizasyon Yöntemi dediniz ki ben afedersiniz tabiri caizse hayvan gibi derslerini aldım. Bu sistemde infumum ve supremum noktaları global noktalarla aynı. Tutup bunun için optimizasyona gerek duyulmaz. Evet sistem nonlinear gibi durabilir ama tek bir çalışma noktası seçilip linear denklemleri matris formda yazılabilir. Bunun için gerçekten optimizasyon gerekli mi?


o zaman basit sorular ile gidelim, fsolve nasıl çözüyor ya da neden ilk değere ihtiyaç duyuyor?

Firzen

@berat23 Yalan olmasın solve kullanmadım.
optimizasyon toolu bile derslerden sonra kullandım. Onun sebebi de derslerde bizim kendimiz kod yazmamız gerektiği içindi.


Ama optimizasyonda neden ilk değere ihtiyaç diye soruyorsunuz diye varsayarak devam edeyim.


Sebebi şu eğer sisteme initial point vermezseniz sistemin direction tarafı seçimi konusunda problem çıkar ve sistem 2 quadrant bölgesinde optimal değer üretir. Hooke&Jeeves gibi yöntemler genelde direction için +/- olarak belirlenir ve min/max durumuna göre optimal yol hesabı bu initial pointlerden yapılır.  Bu açıklamadan sonra benim aklıma direction belli sistem interval da ne olur sorusu gelirdi. O zaman daha da kolay Fibonacci veya Golden Section Search ile interval başlangıç değerinden sürekli ilerleme adımı çıkarılır. Taaki istediğim error toleransına girinceye kadar.
University of Idaho                                  Postdoctoral Fellow