User Tools

Site Tools


octave:octave

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
octave:octave [2008/06/25 10:00] devaoctave:octave [2009/04/23 13:54] (current) deva
Line 1: Line 1:
-=====Octave=====+=====Octave syntax and library overview===== 
 +====Installing packages==== 
 +Fetch the package files from [[http://octave.sourceforge.net/|octaveforge]]. 
 +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==== ====if then else====
 <code matlab> <code matlab>
Line 29: Line 91:
 end;  end; 
 </code> </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>
 +Note: In matlab the ''endswitch'' should be replaced by ''end''
  
 ====Links==== ====Links====
octave/octave.1214380847.txt.gz · Last modified: 2008/06/25 10:00 by deva