Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SKRYPT.M FALASI
- format long
- %Zadanie 10.27
- function y=f(x)
- y = x^4 - 2*x^3 - 4*x^2 + 4*x + 4;
- endfunction
- a = 2;
- b = 3;
- %dk to dokladnosc a takze epsilon
- dk = ((10)^(-4));
- [wynik_fal,blad_teo] = oblicz_fal(@f,a,b,dk);
- %Przyblizenie pierwiastka
- wynik_fal
- %blad teoretyczny
- blad_teo
- %funkjca octave
- wynik_fzero = fzero(@f,a)
- %funkjca octave
- wynik_fsolve = fsolve(@f,a)
- OBLICZ_FAL.M
- %dk - dokladnosc a takze epsilon | oblicz_fal = obliczenie Bisection|
- function [wynik_fal,blad_teo] = oblicz_bs(f,a,b,dk)
- x(1) = a;
- n = 1;
- if (f(a) * f(b)) < 0
- do
- n++;
- x(n) =a-f(a)*(b-a)/(f(b) - f(a));
- if f(x(n)) == 0
- wynik_fal = x(n)
- blad_teo = 0;
- break;
- endif;
- if f(a) * f(x(n)) < 0
- b = x(n);
- else
- a = x(n);
- endif;
- until (abs(x(n-1) - x(n)) ) < dk;
- blad_teo = abs((x(n-1) - x(n)));
- wynik_fal = x(n);
- else
- wynik_fal = NaN;
- blad_teo = NaN;
- error('Funkcja posiada jednakowe znaki na krancach przedzialu.')
- endif
- endfunction
- Sesja Octave
- >> format long
- >> %Zadanie 10.27
- >> function y=f(x)
- y = x^4 - 2*x^3 - 4*x^2 + 4*x + 4;
- endfunction
- >> a = 2;
- >> b = 3;
- >> %dk to dokladnosc a takze epsilon
- >> dk = ((10)^(-4));
- >> [wynik_fal,blad_teo] = oblicz_fal(@f,a,b,dk);
- >> %Przyblizenie pierwiastka
- >> wynik_fal
- wynik_fal = 2.732032423166152
- >> %blad teoretyczny
- >> blad_teo
- blad_teo = 4.835385843682261e-05
- >> %funkjca octave
- >> wynik_fzero = fzero(@f,a)
- wynik_fzero = 2.732050807568879
- >> %funkjca octave
- >> wynik_fsolve = fsolve(@f,a)
- wynik_fsolve = 1.414213563760328
Add Comment
Please, Sign In to add comment