octave-3.2.4.exe:5> % operator : octave-3.2.4.exe:5> % podobno kot * v regularnih izrazih octave-3.2.4.exe:5> 1:5 ans = 1 2 3 4 5 octave-3.2.4.exe:6> 1:2:5 ans = 1 3 5 octave-3.2.4.exe:7> 1:0.5:5 ans = Columns 1 through 7: 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 Columns 8 and 9: 4.5000 5.0000 octave-3.2.4.exe:8> 5:-2:1 ans = 5 3 1 octave-3.2.4.exe:9> % operator : je uporaben pri podmatrikah octave-3.2.4.exe:9> A = (1:3)'*(1:4) A = 1 2 3 4 2 4 6 8 3 6 9 12 octave-3.2.4.exe:10> % stolpci octave-3.2.4.exe:10> A(:,2) % 2. stolpec ans = 2 4 6 octave-3.2.4.exe:11> % kako deluje : octave-3.2.4.exe:11> A([1 2 3 ],2) ans = 2 4 6 octave-3.2.4.exe:12> % za zadnji mogoč indeks octave-3.2.4.exe:12> % lahko uporabimo end octave-3.2.4.exe:12> A(end,:) % zadnja vrstica ans = 3 6 9 12 octave-3.2.4.exe:13> A(:,3:end) % vse razen 1 in 2 stolpca ans = 3 4 6 8 9 12 octave-3.2.4.exe:14> A(2:2:end,2:2:end) % samo sodi indeksi ans = 4 8 octave-3.2.4.exe:15> A(1:2:end,1:2:end) % samo lihi indeksi ans = 1 3 3 9 octave-3.2.4.exe:16> % uporabne vektorske operacije octave-3.2.4.exe:16> % +, * octave-3.2.4.exe:16> v=1:7 v = 1 2 3 4 5 6 7 octave-3.2.4.exe:17> v+1 ans = 2 3 4 5 6 7 8 octave-3.2.4.exe:18> v*v error: operator *: nonconformant arguments (op1 is 1x7, op2 is 1x7) octave-3.2.4.exe:18> % skalarni produkt z * octave-3.2.4.exe:18> v*V' error: `V' undefined near line 18 column 3 octave-3.2.4.exe:18> v*v' ans = 140 octave-3.2.4.exe:19> v'*v ans = 1 2 3 4 5 6 7 2 4 6 8 10 12 14 3 6 9 12 15 18 21 4 8 12 16 20 24 28 5 10 15 20 25 30 35 6 12 18 24 30 36 42 7 14 21 28 35 42 49 octave-3.2.4.exe:20> % vtenzorski produkt octave-3.2.4.exe:20> % tenzorski produkt octave-3.2.4.exe:20> % matrika sestavljena iz veckratnikov octave-3.2.4.exe:20> % vrstice v octave-3.2.4.exe:20> [2;4;6]*v ans = 2 4 6 8 10 12 14 4 8 12 16 20 24 28 6 12 18 24 30 36 42 octave-3.2.4.exe:21> % matrika sestavljena iz kopij v octave-3.2.4.exe:21> [1; 1; 1; 1 ]*v ans = 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 octave-3.2.4.exe:22> ones(7,1)*v ans = 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 octave-3.2.4.exe:23> % sedem kopij stolpca v' octave-3.2.4.exe:23> v'*ones(1,7) ans = 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 6 7 7 7 7 7 7 7 octave-3.2.4.exe:24> % uporabno za matrični izračun vrednosti funkcije 2 spremenljivk octave-3.2.4.exe:24> x = -1:0.5:1 x = -1.0000 -0.5000 0.0000 0.5000 1.0000 octave-3.2.4.exe:25> y = 0:0.5:1 y = 0.00000 0.50000 1.00000 octave-3.2.4.exe:26> % radi bi tabelirali funkcijo z=x*y octave-3.2.4.exe:26> xx=ones(3,1)*x xx = -1.00000 -0.50000 0.00000 0.50000 1.00000 -1.00000 -0.50000 0.00000 0.50000 1.00000 -1.00000 -0.50000 0.00000 0.50000 1.00000 octave-3.2.4.exe:27> yy = y'*ones(1,5) % 5 kopij stolpca y yy = 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.50000 0.50000 0.50000 0.50000 1.00000 1.00000 1.00000 1.00000 1.00000 octave-3.2.4.exe:28> z = xx*yy error: operator *: nonconformant arguments (op1 is 3x5, op2 is 3x5) octave-3.2.4.exe:28> z = xx.*yy z = -0.00000 -0.00000 0.00000 0.00000 0.00000 -0.50000 -0.25000 0.00000 0.25000 0.50000 -1.00000 -0.50000 0.00000 0.50000 1.00000 octave-3.2.4.exe:29> surf(x,y,z) % narisemo graf octave-3.2.4.exe:30> % max, min, find, all, any octave-3.2.4.exe:30> A A = 1 2 3 4 2 4 6 8 3 6 9 12 octave-3.2.4.exe:31> % najmanjsi element v matriki octave-3.2.4.exe:31> min(A) % najmanjsi elemnti stolpcev ans = 1 2 3 4 octave-3.2.4.exe:32> min(min(A)) % najmanjsi elt ans = 1 octave-3.2.4.exe:33> A=fliplr(A) % flip left right A = 4 3 2 1 8 6 4 2 12 9 6 3 octave-3.2.4.exe:34> A=flipud(A) % flip up down A = 12 9 6 3 8 6 4 2 4 3 2 1 octave-3.2.4.exe:35> [m,i]=min(A) % minimum in indeks m = 4 3 2 1 i = 3 3 3 3 octave-3.2.4.exe:36> [m,i]=min(A);[m,j]=min(m) m = 1 j = 4 octave-3.2.4.exe:37> i(j) ans = 3 octave-3.2.4.exe:38> % find octave-3.2.4.exe:38> A>5 % matrika z rezultati a(i,j)<5 ans = 1 1 1 0 1 1 0 0 0 0 0 0 octave-3.2.4.exe:39> find(A>5) % indeksi iskanih eltov ans = 1 2 4 5 7 octave-3.2.4.exe:40> % find vrne indekse v enodimenzionalni octave-3.2.4.exe:40> % predstavitvi matrike octave-3.2.4.exe:40> A(find(A>5)) % iskani elti ans = 12 8 9 6 6 octave-3.2.4.exe:41> % primer za find octave-3.2.4.exe:41> % poisci niclo tabelirane funkcije octave-3.2.4.exe:41> y = sin(0:10) y = Columns 1 through 7: 0.00000 0.84147 0.90930 0.14112 -0.75680 -0.95892 -0.27942 Columns 8 through 11: 0.65699 0.98936 0.41212 -0.54402 octave-3.2.4.exe:42> for i=1:length(y)-1 > if y(i)*y(i+1)<0 % nicla > break > end > end octave-3.2.4.exe:43> i i = 4 octave-3.2.4.exe:44> find(y(1:end-1).*y(2:end) < 0) % kje y spremeni znak ans = 4 7 10 octave-3.2.4.exe:45> % indeksi elementov v tabeli, kjer funkcija spremeni znak octave-3.2.4.exe:45> find(y(1:end-1).*y(2:end) < 0,1) % samo prva nicla ans = 4 octave-3.2.4.exe:46> find(y(1:end)<0,1) ans = 5 octave-3.2.4.exe:47> tic;find(y(1:end)<0,1);toc Elapsed time is -1.2e-007 seconds. octave-3.2.4.exe:48> tic;for i=1:length(y)-1 > if y(i)*y(i+1)<0 % nicla > break > end > end; toc Elapsed time is -5e-008 seconds. octave-3.2.4.exe:49> y = sin(0:10000); octave-3.2.4.exe:50> tic;for i=1:length(y)-1 > if y(i)*y(i+1)<0 % nicla > end > end; toc Elapsed time is 0.1 seconds. octave-3.2.4.exe:51> tic;find(y(1:end)<0,1);toc Elapsed time is 4.5e-008 seconds. octave-3.2.4.exe:52> tic;find(y(1:end)<0);toc Elapsed time is -9.8e-008 seconds. octave-3.2.4.exe:53> y = sin(0:100000); octave-3.2.4.exe:54> tic;find(y(1:end)<0);toc Elapsed time is 7.1e-009 seconds. octave-3.2.4.exe:55> tic;for i=1:length(y)-1 > if y(i)*y(i+1)<0 % nicla > end > end;toc Elapsed time is 0.88 seconds. octave-3.2.4.exe:56> % odvod intgral polinoma octave-3.2.4.exe:56> polyder([1 2 3 4]) ans = 3 4 3 octave-3.2.4.exe:57> polyint([1 2 3 4]) ans = 0.25000 0.66667 1.50000 4.00000 0.00000 octave-3.2.4.exe:58> A A = 12 9 6 3 8 6 4 2 4 3 2 1 octave-3.2.4.exe:59> % koliko je stevil večjih ob 5 octave-3.2.4.exe:59> sum(A>5) ans = 2 2 1 0 octave-3.2.4.exe:60> sum(sum(A>5)) ans = 5 octave-3.2.4.exe:61> A>5 ans = 1 1 1 0 1 1 0 0 0 0 0 0 octave-3.2.4.exe:62> all(A>5) ans = 0 0 0 0 octave-3.2.4.exe:63> any(A>5) ans = 1 1 1 0 octave-3.2.4.exe:64> % risanje grafov octave-3.2.4.exe:64> x=linspace(3,4); % tabela vrednosti med 3 in 4 octave-3.2.4.exe:65> plot(x,sin(x)) octave-3.2.4.exe:66> % parametrične krivulje octave-3.2.4.exe:66> t=linspace(0,2*pi); % tabela parametrov octave-3.2.4.exe:67> x= sin(t); % tabela x-ov octave-3.2.4.exe:68> y= 2*cos(t); % tabela y-ov octave-3.2.4.exe:69> plot(x,y) octave-3.2.4.exe:70> plot3(t,x,y); % prostorska krivulja octave-3.2.4.exe:71> z=t; octave-3.2.4.exe:72> plot3(x,y,z); % prostorska krivulja octave-3.2.4.exe:73> diary off