Primjena MatLab 1dio

Preview:

Citation preview

Neke osnovne funkcije iz MatLab-a za rješavanje zadataka iz Analize i Linearne algebre (primjeri, 1. dio)

Osnovni zadaci

Primjer 1.

Odrediti integral: .

Rješenje:

>> syms x>> f=x^3*exp(3*x) f =

x^3*exp(3*x) >> int(f,x) ans =

(exp(3*x)*(27*x^3 - 27*x^2 + 18*x - 6))/81 >> simple(ans)>> pretty(ans)

3 2 exp(3 x) (9 x - 9 x + 6 x - 2) -------------------------------- 27

Primjer 2.

Odrediti integral: .

Rješenje:

>> syms x>> g=(3-x)/(2*x^2+2*x+1) g = -(x - 3)/(2*x^2 + 2*x + 1) >> int(g,x)

1

ans = (7*atan(2*x + 1))/2 - log(x^2 + x + 1/2)/4

>> simple(ans)

>> pretty(ans)

2 7 arctan(2 x + 1) ln(x + x + 1/2) ----------------- - ---------------- 2 4

Primjer 3.

Izračunati: .

Rješenje:

>> syms y>> f=(-y^2+y+4)-(4/y) f = y - 4/y - y^2 + 4 >> int(f,y,1,2) ans = 19/6 - log(16)

Primjer 4.

Izračunati: .

Rješenje:

>> syms x>> f=(7*x+7)-(-x^2+3*x+4) f = x^2 + 4*x + 3 >> int(f,x,-1,3)

2

ans = 112/3

3

Primjer 5.

Izračunati determinantu: .

Rješenje:

>> M=[1 2 3; 4 -5 6; 7 8 9]

M =

1 2 3 4 -5 6 7 8 9

>> det(M)

ans =

120

Primjer 6.

Izračunati determinantu: .

Rješenje:

>> syms k>> K=[10 k 1 -6; -1 3 2 k; k 2 1 -1; 1 1 -1 -1] K = [ 10, k, 1, -6][ -1, 3, 2, k][ k, 2, 1, -1][ 1, 1, -1, -1] >> det(K) ans = k^3 + k - 30 >> factor(ans) ans =

4

(k - 3)*(k^2 + 3*k + 10)

Primjer 7.

Broj 345672 napisati kao proizvod prostih brojeva.

Rješenje:

>> factor(345672)

ans =

2 2 2 3 3 4801

Primjer 8.

Uprostiti izraz: .

Rješenje:

>> syms a b c>> f=(a^2*(1/b-1/c)+b^2*(1/c-1/a)+c^2*(1/a-1/b))/((a/(b*c)*(c-b)+(b/(c*a))*(a-c)+(c/(a*b))*(b-a))) f = -(a^2*(1/b - 1/c) - b^2*(1/a - 1/c) + c^2*(1/a - 1/b))/((c*(a - b))/(a*b) - (b*(a - c))/(a*c) + (a*(b - c))/(b*c)) >> pretty(f)

2 / 1 1 \ 2 / 1 1 \ 2 / 1 1 \ a | - - - | - b | - - - | + c | - - - | \ b c / \ a c / \ a b / - ------------------------------------------ c (a - b) b (a - c) a (b - c) --------- - --------- + --------- a b a c b c

>>simple(f)

ans = a + b + c

Primjer 9.

5

Naći inverznu matricu matrice A= .

6

Rješenje:

>> A=sym([3 -4 5; 0 -3 1; 0 0 -1]) A = [ 3, -4, 5][ 0, -3, 1][ 0, 0, -1] >> inv(A) ans = [ 1/3, -4/9, 11/9][ 0, -1/3, -1/3][ 0, 0, -1]

Primjer 10.

Izračunati:

Rješenje:

>> (sqrt(3)-i)^5*(1+i*sqrt(3))

ans =

-0.0000 -64.0000i

Primjer 11.

Riješiti sistem linearnih jednačina Ax=b gdje su A= , x= i b= .

Rješenje:

A = [ 1, 2, 3][ 4, 5, 6][ 7, 8, 1] >> b=[1 2 3]

b =

1 2 3

7

>> b=b'

8

b =

1 2 3

>> x=A\b x = -1/3 2/3 0

Primjer 12.

Naći prvi i drugi izvod funkcije: .

Rješenje:

>> syms x>> y=x^3/(1-x^3) y = -x^3/(x^3 - 1) >> diff(y,x) ans = (3*x^5)/(x^3 - 1)^2 - (3*x^2)/(x^3 - 1)

>>simple(ans)

ans = (3*x^2)/(x^3 - 1)^2 >> pretty(ans)

2 3 x --------- 3 2 (x - 1)

>> diff(y,x,2)

9

ans = (24*x^4)/(x^3 - 1)^2 - (6*x)/(x^3 - 1) - (18*x^7)/(x^3 - 1)^3 >> simple(ans)

10

ans = -(6*x*(2*x^3 + 1))/(x^3 - 1)^3 >> pretty(ans)

3 6 x (2 x + 1) - -------------- 3 3 (x - 1)

Primjer 13.

Naći prvi i drugi izvod funkcije .

Rješenje:

>> syms x>> f=3*log(x/(x-3))-1 f = 3*log(x/(x - 3)) - 1 >> diff(f,x) ans = -(3*(x/(x - 3)^2 - 1/(x - 3))*(x - 3))/x

>> simple(ans)

ans = 9/(3*x - x^2) >> pretty(ans)

9 -------- 2 3 x - x

>> diff(f,x,2) ans = (3*(x/(x - 3)^2 - 1/(x - 3))*(x - 3))/x^2 - (3*(x/(x - 3)^2 - 1/(x - 3)))/x + (3*((2*x)/(x - 3)^3 - 2/(x - 3)^2)*(x - 3))/x

11

>> simple(ans)

ans = 3/(x - 3)^2 - 3/x^2 >> pretty(ans)

3 3 -------- - -- 2 2 (x - 3) x

Crtanje grafa 1D funkcija

Primjer 14.

Grafički predstaviti funkciju: .

Rješenje:

I način: >> x=-20:0.1:20;>> y=x.*x;>> plot(x,y)

II način: >> syms x>> f=x^2;>> ezplot(f)

Primjer 15.

Grafički predstaviti funkciju sinx i cosx u istom prozoru.

Rješenje:

I način: >> x=0:0.1:2*pi;>> y=sin(x);>> z=cos(x);>> plot(x,y,x,z)

12

II način: >> syms x>> y=sin(x);>> z=cos(x);>> figure(1); ezplot(y)>> figure(2); ezplot(y); hold on; ezplot(z)

13

Primjer 16.

Grafički predstaviti funkciju: .

Rješenje:

I način:>> syms x>> f=x^3/(x^2-4)^2 f = x^3/(x^2 - 4)^2 >> ezplot(f)

II način:>> x=-6:0.1:6;>> y=((x.*x).*x)./((x.*x)-4).^2;>> plot(x,y)

Primjer 17.

Grafički predstaviti funkciju: .

Rješenje:

I način: >> syms x>> f=(x-6)*exp(-1/x) f = (x - 6)/exp(1/x) >> ezplot(f,[-7,7])

II način:>> x=-6:1:6;>> y=(x-6).*exp((-1)./(x));>> plot(x,y)

14

Crtanje grafa 2D funkcija

Primjer 18.

Grafički predstaviti funkciju: .

Rješenje:

>> [x,y]=meshgrid(-2:0.1:2, -2:0.1:2);>> z=exp(-(x.*x+y.*y));>> mesh(x,y,z)

ili

>> [x,y]=meshgrid(-2:0.1:2, -2:0.1:2); >> z=exp(-(x.*x+y.*y));>> surf(x,y,z)

ili

>> [x,y]=meshgrid(-2:0.1:2, -2:0.1:2); >> z=exp(-(x.*x+y.*y));>> surfl(x,y,z)

ili

>> [x,y]=meshgrid(-2:0.1:2, -2:0.1:2);>> z=exp(-(x.*x+y.*y));>> meshc(x,y,z)

15

16

Primjer 19.

Grafički predstaviti funkciju i njezine konture.

Rješenje:

>> [x,y]=meshgrid(-2:0.1:2, -2:0.1:2);>> z=x.^2-2*(x.*y)+3*y+2;>> surf(x,y,z)>> surf(x,y,z+5); hold on; contour(x,y,z+5,30);

Primjer 20.

Grafički predstaviti površ i njezine dvije tangentne ravni x+4y+6z=-21 i x+4y+6z=21.

Rješenje:

Fajl povrs_tang.m sadrži sljedeći kod:

[x,y]=meshgrid(-2.5:0.1:2.5, -2.5:0.1:2.5);z1=sqrt((1/3)*(-x.^2-2*y.^2+21));z2=-sqrt((1/3)*(-x.^2-2*y.^2+21));surf(x,y,z1)hold on;surf(x,y,z2)z3=(1/6)*(21-x-4*y);hold on;surf(x,y,z3)z4=-(1/6)*(21-x-4*y);hold on;surf(x,y,z4)

Kad ukucamo

17

>> povrs_tang

dobićemo jednu od sljedećih slika koju kasnije nije teško rotirati:

Puno ljepši izgled površi ćemo dobiti na sljedeći način.

povrs.m

[x,y]=meshgrid(-5:0.1:5,-3.5:0.1:3.5);z1=x;z2=x;[visina,sirina]=size(x); for i=1:1:visina for j=1:1:sirina z1(i,j)=(1/3)*(21-x(i,j)^2-2*y(i,j)^2); if z1(i,j)<-0.5 z1(i,j)=NaN; end if ( z1(i,j)>-0.5 && z1(i,j)<0 ) z1(i,j)=0; end if ( z1(i,j)>=0) z1(i,j)=sqrt(z1(i,j)); end end end for i=1:1:visina for j=1:1:sirina z2(i,j)=(1/3)*(21-x(i,j)^2-2*y(i,j)^2); if z2(i,j)<-0.5 z2(i,j)=NaN; end if ( z2(i,j)>-0.5 && z2(i,j)<0 ) z2(i,j)=0; end if ( z1(i,j)>=0) z2(i,j)=-sqrt(z2(i,j)); end end

18

end figure(1);surf(x,y,z1) figure(2);surfl(x,y,z2) figure(3);meshc(x,y,z1)hold on;meshc(x,y,z2) figure(4);mesh(x,y,z1)hold on;mesh(x,y,z2)

Četvrta slika predstavlja površ i njezine dvije tangentne ravni. Kod za ovu sliku smo izostavili.

19

Riječnik

Neki MatLab operatori

* skalarno ili matrično množenje.* element po element množenje nizova/ skalarno djeljenje^ skalarni ili matrični stepen.^ element po element stepen% komentar.' transponovano od matrice

Neke ugrađene konstanteexp(1) e = 2,71828...iInf ∞NaN Nije brojpi = 3,14159..

Neke ugrađene funkcije

abs |a|expsin sin xcos cos xsqrttan tg ximag imag(z), imaginarni dio kompleksnog broja

Neke MatLab naredbe

ctranspose konjugovano transponovano od matricedet determinanta matricediff simbolični operator diferencijala (izvoda)eig računa karakteristične vrijednosti i karakteristične vektore kvadratne matriceexpand raširuje algebarski izrazfminbnd traži najmanju (približno) vrijednost na datom intervaluint operator integriranja za određene i neodređene integraleinv inverz kvadratne matricelimit traži obostrane granične vrijednosti ako postoje. Koristiti 'right' ili 'left' je jednostrane

granične vrijednostipretty prikazuje simbolički izraz u mnogo čitljivijem formaturoots traži korijene polinomasimple pokušaj da uprosti izraz korištenjem motoda proizvodasym pravi simboličku varijablu ili brojsyms kraći oblik za pravljenje simbolički varijablisymsum odrađuje simboličku sumu vektora, sa mogučnošću beskonačno mnogo ulaza

Neke grafičke naredbeezplot komanda za lagano crtanje simboličkog izrazaezplot3 naredba za lagano crtanje 3D parametarskih krivihezsurf naredba za lagano crtanje standardnih površiplot3 crta krive u 3D prostoru

20