Ściągawka z Matlaba / Octave www.mat.uni.torun.pl/~piersaj 2010-10-19
1 2 3 4
Strony domowe środowisk http://www.gnu.org/software/octave/index.html http://www.mathworks.com/
Dokumentacja http://www.mathworks.com/academia/student_center/ tutorials/launchpad.html http://www.gnu.org/software/octave/doc/interpreter/
Przypisanie Przypisanie a = 5 ; Przypisanie z echem a = 5
Operacje arytmetyczne 3 + 4 3 4 3 4 3 / 4 3 ˆ 4 Uwaga! Nie ma % jako dzielenie modulo!
Operacje relacyjne 3 == 4 3!= 4 3 > 4 3 >= 4 3 < 4 3 <= 4
Operacje logiczne (3 == 4) && (4 == 3) (3 == 4) (4 == 3)! ( 3 == 4)
Komentarze % t e r a z j u z wiadomo d l a c z e g o to n i e j e s t modulo mod(3, 4) # UWAGA! ten s h e l l o w y typ komentarza # d z i a l a t y l k o w Octave
Pomoc / ważne polecenia help cos doc s i n quit
Tablice A = [ 1, 2, 3, 5, 7, 9 ] ; B = 1 : 3 ; C = 5 : 2 : 9 ; D = [ B, C ] ;
Tablice Uwaga: tablice są indeksowane od jedynki! Uwaga: dostęp do elementu tablicy jest poprzez nawiasy ( ) A = [ 1, 2, 3, 5, 7, 9 ] ; length (A) A ( : ) A( 1 ) A( end ) A( 1, end ) A( end : 1:1) B = [ 2, 4, 6 ] ; A(B)
Tablice A = [ 0 :. 1 : 1 0 ] ; B = [ 1 0 :. 1 : 0 ] ; A+B A B A. B A. /B c = 3 ; c A s i n (A) cos (B) exp (A+c B)
if i f 3.1415 == p i a = 0 ; e l s e a = 1 ; e n d i f ;
for c l e a r Z ; f o r i =1:10 Z( i ) = i ˆ2 log ( i ) ; endfor ; s = 0 ; f o r i = 0 :. 0 1 : 1 s+=i ˆ 2 ; endfor ;
while oraz do Pętla while i =0; while ( i ˆ2<101) i++ endwhile Pętla do x = 0, y = 0 ; do x = randn ( ) ; y = randn ( ) ; u n t i l ( x ˆ2 + y ˆ2 >0)
plot X = 3 :. 0 1 : 3 ; Y = s i n (X ) ; p l o t (X, Y, "r" ) ; doc p l o t ;
plot3 X = 3 :. 1 : 3 ; Y = s i n (X ) ; Z = randn ( 1, 61) plot3 (X, Y, Z, "b+" ) ; doc plot3 ;
hist X = rande ( 3 0 0, 1 ) ; h i s t (X) doc h i s t ;
bar X = rand (100,1) 4 2; bar ( s o r t (X) ) doc bar ;
surf X = 10:.5:+10; Y = 10:.5:+10; c l e a r Z ; w1 =. 4 5 ; w2 =. 76; f o r i =1: length (X) f o r j =1: length (Y) Z( i, j ) = w1 X( i ) + w2 Y( j ) ; endfor ; endfor ; s u r f (X, Y, Z ) ; doc s u r f ; doc mesh ;
plot p l o t ( [ 0 ], [ 0 ], go ) ; hold on ; p l o t ( [ 1 ], [ 1 ], go ) ; p l o t ( [ 0 ], [ 1 ], m* ) ; p l o t ( [ 1 ], [ 0 ], m* ) ; a x i s ([.5, 1. 5,.5, 1. 5 ] ) hold o f f ; p r i n t ( "~/Desktop/printout1.pdf", "-color", "-dpdf" ) ; doc p r i n t ; doc hold ; doc a x i s ;
run pwd cd /home/ p i e r s a j / Desktop / l s run s k r y p t.m Wywołanie z terminala: %>o c t a v e p e r s i s t s k r y p t.m
Funkcje function e = e r r o r s n u m b e r ( theta, w, p r z y k ) e =0; f o r i =1: length ( p r z y k ) a = (w( 1 ) p r z y k ( i, 1 ) + w( 2 ) p r z y k ( i, 2 ) t h e t a ) >= 0 ; i f ( a==p r z y k ( i, 3 ) ) ; e l s e e++; e n d i f ; endfor ; endfunction ;
Funkcje przykladyxor = [ 0, 0, 0 ; 0, 1, 1 ; 1, 0, 1 ; 1, 1, 0 ] ; w = [ 1, 1 ] ; p = 0 ; e r r o r s n u m b e r ( p, w, przykladyxor )
t = s p r i n t f ( "\n lekcji %d\nobiecuje,\ ze kiedys to%s,\ nale raczej nie w %d roku", 3, " rozszerze", 2ˆ11 38 ) ; text (. 0,. 5, 0, t ) ; doc s p r i n t f ; doc text
To be continued...