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…
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?
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)
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.