Editing Tips and tricks
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
==Tiny helper functions== | ==Tiny helper functions== | ||
This is a list of tiny helper functions (the equivalent of e.g., shell aliases), the kind one would have on its {{Path|.octaverc}} file. | This is a list of tiny helper functions (the equivalent of e.g., shell aliases), the kind one would have on its {{Path|.octaverc}} file. | ||
=== replace help with man === | === replace help with man === | ||
If you use octave too much, you'll find yourself trying to use {{Codeline|help}} instead of {{Codeline|man}} on bash. This function will fix that so you can use {{Codeline|man}} in your octave instance (you can also do the opposite, create a {{Codeline|help}} alias in bash but {{Codeline|man}} has | If you use octave too much, you'll find yourself trying to use {{Codeline|help}} instead of {{Codeline|man}} on bash. This function will fix that so you can use {{Codeline|man}} in your octave instance (you can also do the opposite, create a {{Codeline|help}} alias in bash but {{Codeline|man}} has less characters). | ||
{{Code|alias to help|<pre> | {{Code|alias to help|<pre> | ||
Line 78: | Line 24: | ||
<tr><td>element multiplication</td><td><code>A.*B</code></td><td><code>product(A,B) </code></td></tr> | <tr><td>element multiplication</td><td><code>A.*B</code></td><td><code>product(A,B) </code></td></tr> | ||
<tr><td>element division</td><td><code>A./B</code></td><td><code>quotient(A,B) </code></td></tr> | <tr><td>element division</td><td><code>A./B</code></td><td><code>quotient(A,B) </code></td></tr> | ||
<tr><td>transpose*</td><td><code>A | <tr><td>transpose*</td><td><code>A'</code></td><td><code>A.transpose()</code></td></tr> | ||
<tr><td>select element m,n of A**</td><td><code>A(m,n)</code></td><td><code>A(m-1,n-1)</code></td></tr> | <tr><td>select element m,n of A**</td><td><code>A(m,n)</code></td><td><code>A(m-1,n-1)</code></td></tr> | ||
<tr><td>select row N of A**</td><td><code>A(N,:)</code></td><td><code>A.row(N-1)</code></td></tr> | <tr><td>select row N of A**</td><td><code>A(N,:)</code></td><td><code>A.row(N-1)</code></td></tr> | ||
Line 113: | Line 59: | ||
<tr><td>number of rows</td><td><code>size(A,1)</code></td><td><code>A.rows()</code></td></tr> | <tr><td>number of rows</td><td><code>size(A,1)</code></td><td><code>A.rows()</code></td></tr> | ||
<tr><td>number of columns</td><td><code>size(A,2)</code></td><td><code>A.cols()</code></td></tr> | <tr><td>number of columns</td><td><code>size(A,2)</code></td><td><code>A.cols()</code></td></tr> | ||
</table> | </table> | ||
Line 132: | Line 77: | ||
==General== | ==General== | ||
===Using Variable Strings in Octave Commands=== | |||
For example, to plot data using a string variable as a legend: | |||
Option 1 (simplest): | |||
legend = "-1;My data;"; | |||
plot(x, y, legend); | |||
Option 2 (to insert variables): | |||
plot(x, y, sprintf("-1;%s;", dataName)); | |||
Option 3 (not as neat): | |||
legend = 'my legend'; | |||
plot_command = ['plot(x,y,\';',legend,';\')']; | |||
eval(plot_command); | |||
These same tricks are useful for reading and writing data files with unique names, etc. | |||
===Vectorizing Tricks=== | ===Vectorizing Tricks=== | ||
Line 170: | Line 133: | ||
====Other references==== | ====Other references==== | ||
*MATLAB array manipulation tips and tricks by Peter Acklam: | *MATLAB array manipulation tips and tricks by Peter Acklam: http://home.online.no/~pjacklam/matlab/doc/mtt/index.html | ||
*The MathWorks: Code Vectorization Guide: http://www.mathworks.com/support/tech-notes/1100/1109.html | *The MathWorks: Code Vectorization Guide: http://www.mathworks.com/support/tech-notes/1100/1109.html | ||