User Tools

Site Tools


octave:octave

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
octave:octave [2008/06/25 09:56] – created devaoctave:octave [2009/04/23 13:54] (current) deva
Line 1: Line 1:
-=====Octave===== +=====Octave syntax and library overview===== 
-====if then else end==== +====Installing packages==== 
-<code octave+Fetch the package files from [[http://octave.sourceforge.net/|octaveforge]]. 
-a = 1+Then create (or add to) the file ~/.octaverc the following content: 
 +<code matlab> 
 +addpath(genpath('~/octave')) 
 +</code> 
 +And run ''pkg install packagename-1.0.0.tar.gz'' or whatever the package is called from inside octave. 
 +Now the package should be available. 
 + 
 +====plotting==== 
 +<code matlab> 
 +h = [1,2,3,4,5]; 
 +plot(h); 
 +xlabel("some numbers"); 
 +print("myfile.pdf", "-dpdf"); 
 +</code> 
 +This code plots a a vector with a label on the x-axis, and exports it to a pdf file. 
 + 
 +<code matlab> 
 +h=wavread('h.wav'); 
 +hfft=abs(fft(h)); 
 +semilogx(hfft(1:end/2)) 
 +</code> 
 +This code loads an audiofile, and plots its frequency spectrum on a logartihmical scale. 
 + 
 +====function==== 
 +<code matlab> 
 +function retval = myfunction(param1, param2) 
 +  retval = param1 + param2; 
 +end; 
 +</code> 
 + 
 +====strings==== 
 +<code matlab> 
 +mystring = 'hello world'; % create string 
 +sizeof(mystring) % get length of string 
 + 
 +mystrilyng2 = [ mystring, 'fisk']; % concatenate two strings 
 + 
 +</code> 
 +sizeof on works in octave. in matlab the length of a string cannot be obtained! 
 + 
 +====string array==== 
 +<code matlab> 
 +myemptyarray = {}; % create empty string array. 
 + 
 +myarray = { 'hello', 'world' }; % create array with two strings. 
 +myarray(1) % prints 'hello' 
 +myarray(3) = 'blah'; %inserts another string into the array. 
 + 
 +sizeof(myarray) % get number of elements 
 +sizeof(myarray(1)) %get length of first string 
 + 
 +% Iterate strings in string array 
 +for str = myarray 
 +  disp(str) 
 +end 
 + 
 +</code> 
 +Note: Arrays are 1-based, not 0-based as they usually are in real programming languages. 
 +Note: sizeof is an octave-only function. size can be used to get the array size in matlab. 
 + 
 +====if then else==== 
 +<code matlab
 +a = 1
 if a == 1 if a == 1
 +  "a is one"
 end; end;
 +
 +if a == 2
 +  "a is two"
 +else
 +  "a is not two"
 +end;
 +</code>
 +
 +====for while====
 +<code matlab>
 +list = 1:10
 +
 +for i = list
 +  i
 +end;
 +
 +a = 1;
 +while a < 11
 +  a
 +  a = a + 1;
 +end; 
 +</code>
 +
 +====switch case====
 +<code matlab>
 +yesno = "yes"
 +
 +switch yesno
 +case {"Yes" "yes" "YES" "y" "Y"}
 +  value = 1;
 +case {"No" "no" "NO" "n" "N"}
 +  value = 0;
 +case "blah"
 +  value = 42;
 +otherwise
 +  error ("invalid value");
 +endswitch
 </code> </code>
 +Note: In matlab the ''endswitch'' should be replaced by ''end''
  
 ====Links==== ====Links====
octave/octave.1214380614.txt.gz · Last modified: 2008/06/25 09:56 by deva