Documente Academic
Documente Profesional
Documente Cultură
txt
Laborator #1 data limita de trimitere 28 oct 2010
---------------------------------------
in terminal tipariti
>cos(pi/2)
>sin(pi/2)
>ans
>inf
>eps
>realmax
>realmin
tipariti apoi
>cos(pi/2);
deci pentru printare e suf sa omiteti ';'
tipariti
Page 1
l1.txt
>x=cos(pi)
>x
va afisa ce e in variabila x
>y=exp(2)
>y
----------------------------------------------------
-
> save tot
Comanda
>clear
va sterge toate valorile din octave
Exercitiul 1:
Page 2
l1.txt
Vectori:
tipariti
>a=[1 2 3]
tipariti
>a'
tipariti
>A=[1 2 3; 2 3 4; 4 5 7]
>a=[1 2 3]
>b=[1;2;3]
>a*b
>b=[1 2 3]'
>a*b
>a(2,3)
>a(1,1)
>b(2)
>b(3)
>inv(A)
Page 4
l1.txt
exemplu:
>a=[1 2 3]
>b=[2,3,4]
>a.*b
deci pentru a calcula pe componente se utilizeaza un
punct inaintea
semnului *.
>A=[1 2 3;1 2 3; 2 3 4]
>size(A)
>x=0:0.1:1
x =
Columns 1 through 8:
0.00000 0.10000 0.20000 0.30000 0.40000
0.50000 0.60000 0.70000
Tipariti
>x=0:1:10
Grafice:
Graficul lui f(x)=x^2
>v=0:0.1:1
>plot(v,v.*v)
Page 6
l1.txt
x=pi/2
cos(x)
sin(x)
exp(x)
Plasati acest fisier in directorul ce apare cand
executati pwd in
terminalul Octave.
Apoi de la terminalul octave
executati
>laborator1
---------------------------------
se observa ca toate comenzile din fisierul
laborator1.m se executa linie cu linie.
function z=cosx(x)
%aceasta functie calculeaza puterea 2 a numarului
cos(x)
dupa care scrieti
z=cos(x)^2
Salvati fisierul
% bucla for
a=0;
for(i=0:4)
a=a+i
end
Page 8
l1.txt
% bucla while
x=0;a=0;
while(x<20)
a=a+x
x++;
end
----------------------------------------------------
--------------
REZOLVARI DE ECUATII NELINIARE
METODA BISECTIEI
Consideram ecuatia
Page 9
l1.txt
1)faceti un grafic pe [0.1,1.5] utilizand functia
plot pentru a vizualiza
intersectia lui f cu Ox.
EPSILON = 1.0e-5;
aprox_sol = ( a + b ) / 2;
n = 0; %iteratia curenta
n++;
disp(n)
c = ( a + b ) / 2;
aprox_sol = c;
if ( feval(f,c) == 0 )
break;
elseif ( sign(feval(f,a)) * sign(feval(f,c)) <= 0
)
b = c;
Page 10
l1.txt
else
a = c;
end
end
---------------------------------
Intrebari:
1) ce reprezinta constanta EPSILON?
2)ce reprezinta sign(feval(f,a))?
3) care e rostul liniei de cod
aprox_sol = ( a + b ) / 2;
dinaintea buclei 'while'?
4) Incercati comanda 'help bisect' . ea va va arata
ce face functia bisect.
EXERCITIUL 2:
[-1,1.01].
Page 11
l1.txt
Utilizati codul bisect.m construit anterior pentru a
aplica metoda bisectiei
functiei poly definita anterior.
introduceti linia de cod
disp(strcat('pas=',num2str(n),'solutie exacta
=',num2str(0),', solutie aproximanta=',num2str(c), '
eroare=',num2str(abs(c-0))))
1) Faceti un tabel
iteratie eroare
1 |solutie_exacta-x_1|
2 |solutie_exacta-x_2|
3 |solutie_exacta-x_3|
4 |solutie_exacta-x_4|
5 |solutie_exacta-x_5|