clcclose allclear all f=@(w1,w2) ((w1^2+w2^2+1.6364*w1*w2)/2)-0.8182*w1-0.354*w2+0.1250; x0=0; N=150; k=1; e1=10^(-10);e2=10^(-10);e3=10^(-10);n=1; %step 2w1=0;w2=0;x0=0x1=[w1;w2] p_1=[0.8182; 0.354] %direction k=1;x(k)=1;p_k=-[\'w1_k+0.8182*w2_k-0.8182 ; w2_k+0.8182*w2_k-0.8182\'] while (x(k)>150) x(k)=[w1_k ; w2_k]p(k)=-[w1_k+0.8182*w2_k-0.8182 ; w2_k+0.8182*w2_k-0.8182] x(k+1)=x(k)+n*p(k) fminsearch(f,x(k)+n*p(k)) g(k)=@(w1,w2) [w1_k+0.8182*w2_k-0.8182 ; w2_k+0.8182*w1_k-0.8182] %gradient vector derivatine of vector function % p(k) direction is equal to negative gradientp(k)=-[w1(k)+0.8182*w2(k)-0.8182 ; w2(k)+0.8182*w2(k)-0.8182] %direction xnet=x(k+1)-x(k) lta xfnet=f(x(k+1))-f(x(k)) lta f if abs(fnet)<=e1breakendif norm(xnet)<=e2break end if norm(-(p_k))<=e3break end k=k+1 end plot(fnet,\'k\',\'linewidth\',2)hold onplot(xnet,\'k\',\'linewidth\',2) sorudaki algoritmada her x_k degerini birer artirarak islem yapmamizi istiyor fakat yazdigim kodu calistirmaya kalktigimda fnet ve xnet fonksiyonlari tanimsiz diyor yardimci olursaniz sevinirim.
Elimizden geldiğince size seve seve yadımcı olmak isteriz ancak sorunuzu soruş tarzınız sitemizin kurallarına tamamen aykırı.
Öncelikle başlığınız çok genel-geçer bir başlık. İkinci olarak ise kodunuz ve sorunuz tamamen birbirine girmiş vaziyette. Böyle bir metni anlaması ve sorunu çözmeye çalışmak gerçekten çok zor. Ben bu sorunuzu şimdi kilitleyeceğim. Lütfen sorunuzu kural ve formatlara uygun olarak tekrar gönderin. Size yardım etmeyi ve işinize kolaylık sağlamayı çok isteriz.
Teşekkürler,