Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Classroom License -- for classroom instructional use only.
- >> %YHTÄLÖPARIN RATKAISU NEWTONIN MENETELMÄLLÄ
- >>
- >> %Käyttäen Newtonin menetelmä, ratkaise yhtälöpari:
- >> %x^2 + 2*y^2 = 30,
- >> %2x + y = 4
- >> %Piirrä ensin kuva.
- >>
- >> x=-6:0.01:6;
- >> g1=sqrt((30-x.^2)/2); %y ratkaistuna ensimmäisestä yhtälöstä.
- >> g2=-g1;
- >> g3=-2*x+4; %y ratkaistuna toisesta yhtälöstä
- >>
- >> figure
- >> plot(x,g1,x,g2,x,g3)
- Warning: Imaginary parts of complex X and/or Y arguments ignored
- >> grid
- >> %Kuvasta nähdään että ratkaisut ovat likimain (0,4) ja (3.5,-3).
- >> %Etsitään ratkaisut:
- >> X=[0;4]; %Ratkaisun alkuarvo.
- >> delta=100;
- >> %delta = alkuarvo ratkaisun tarkkuutta kuvaavalle luvulle.
- >> while(delta>0.000001)
- f1=X(1,1)^2+2*X(2,1)^2-30; %funktio, jonka nollakohdat antavat ensimmäisen yhtälön ratkaisut.
- %X(1,1)=x ja X(2,1)=y=matriisin X toisella vaaka-, ja ensimmäisellä pystyrivillä oleva luku.
- f2=2*X(1,1)+X(2,1)-4; %Funktio, jonka nollakohdat antavat toisen yhtälön ratkaisut.
- f1x=2*X(1,1); %f1:n derivaatta x:n suhteen.
- f1y=4*X(2,1); %f1:n derivaatta y:n suhteen.
- f2x=2; %f2:n derivaatta x:n suhteen.
- f2y=1; %f2:n derivaatta y:n suhteen.
- J=[f1x f1y;f2x f2y];
- F=[f1;f2];
- X=X-J^(-1)*F; %Kaava joka laskee tarkemman likiarovn tarkennetun likiarvon ed. likiarvosta.
- delta=sqrt(f1^2+f2^2);
- end
- >> X
- X =
- 0.0636
- 3.8727
- >> delta
- delta =
- 1.2825e-12
- >> %Ensimmäinen ratkaisu: (0.0636,3.8727)
- >> X=[3.5;-3];
- >> delta=100;
- >> while(delta>0.000001)
- f1=X(1,1)^2+2*X(2,1)^2-30; %funktio, jonka nollakohdat antavat ensimmäisen yhtälön ratkaisut.
- %X(1,1)=x ja X(2,1)=y=matriisin X toisella vaaka-, ja ensimmäisellä pystyrivillä oleva luku.
- f2=2*X(1,1)+X(2,1)-4; %Funktio, jonka nollakohdat antavat toisen yhtälön ratkaisut.
- f1x=2*X(1,1); %f1:n derivaatta x:n suhteen.
- f1y=4*X(2,1); %f1:n derivaatta y:n suhteen.
- f2x=2; %f2:n derivaatta x:n suhteen.
- f2y=1; %f2:n derivaatta y:n suhteen.
- J=[f1x f1y;f2x f2y];
- F=[f1;f2];
- X=X-J^(-1)*F; %Kaava joka laskee tarkemman likiarovn tarkennetun likiarvon ed. likiarvosta.
- delta=sqrt(f1^2+f2^2);
- end
- >> X
- X =
- 3.4919
- -2.9838
- >> %Toinen ratkaisu: (3.4919,-2.9838).
- >>
- >> %Vastaus: Ratkaisut ovat (0.0636,3.8727) ja (3.4919,-2.9838).
- >>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement