Soru sorÇok bilinmeyenli bir denklem takımında bilinmeyenleri değişken türünden elde etme
kerimkya tarafından 5 yıl önce soruldu

Elimde sekiz bilinmeyenli 8 denklem var. değişkenimiz ise 'q'. Bu bilinmeyenleri herhangi bir q değerine göre bulabiliyorum. Fakat bilinmeyenleri 'q' nun fonksiyonu şeklinde nasıl elde edebiliriz. q belli aralıkta değişirken herbir bilinmeyenin grafiğini nasıl çizdirebiliriz. teşekkürler…
 

3 Cevap
sayginer Yönetici tarafından 5 yıl önce cevaplandı

Merhaba,
Anladığım kadarı ile sekiz değişkenli bir fonksiyonun grafiğini değişkenlere bağlı olarak çizmek istiyorsunuz değil mi? Diğer bir ifade ile değişkenlerin aldığı değer aralığındaki fonksiyonun verdiği sonucları görmek istiyorsunuz?

kerimkya tarafından 5 yıl önce cevaplandı

Merhaba,
İçinde sekiz denklem olan bir fonksiyon tanımladım. Bu sekiz bilinmeyen (x(1),x(2)…) bir değişkene bağlı olarak değişiyor. Bu değişkene bağlı olarak x(1), x(2), x(3)… grafiklerini çizmek istiyorum. fsolve komutuyla belli bir değişken q değerinde sonuçları buluyorum. x(1,2,3…) ün 0-2pi araliğinda q ya bağlı grafiklerini çizdirmek istiyorum. anlattıklarım aşağıda gördüğünüz gibi.  Teşekkürler.

function K = kuvvetler(q, x)
q=pi/4;
F=25;
a=0.2 ; b=0.8; d=0.5;
Q3=atan(a*sin(q)/(d-a*cos(q)));
Q=pi-atan(a*sin(q)/(d-a*cos(q)));
S=a*sin(q)/sin(Q3);
bt=pi/2-Q;
K(1) = x(1)-x(3);
K(2) = x(2)-x(4);
K(3) = x(8)+x(3)*a*sin(q)-x(4)*a*cos(q);
K(4) = x(7)*cos(bt)-x(3);
K(5) = x(7)*sin(bt)-x(4);
K(6) = x(3)-x(5);
K(7) = x(6)+x(4)-F;
K(8) = F*b*cos(Q)-x(7)*S;
end
fun = @kuvvetler;
x0 = [0,0,0,0,0,0,0,0];
x = fsolve(fun,x0)
hakkans Yönetici tarafından 5 yıl önce cevaplandı

Merhaba,
q'yu bir vektör olarak tanımlarsanız sanırım farklı değerler için sonuç elde edebilirsiniz. Ama q'yu bir vektör olarak tanımladığınızda, bütün işlemleri eleman-bazlı yapmanız gerekir; öbür türlü Matlab vektör çarpması yapmaya kalkar ve bu da hatalara sebep olabilir. q'yu istediğiniz bir vektör olarak tanımladıktan sonra, eşitliklerdeki bütün çarpma ve bölme işlemlerini .* ve .\ işaretleriyle değiştirin. Bu şekilde aynı anda bir sürü değer için çözülebilmesi lazım. Ancak bu durumda K da tek boyutlu olmaktan çıkabilir, onun için de ya  K(:,8) gibi ya da K(8,:) (sadece 8 değil diğerleri için de) gibi bir yapıda bütün K'ları tutmanız gerekebilir.