# QtOctave Help.

## QtOctave is a Graphical User Interface for Gnu Octave

QtOctave is a graphical user interface for gnu octave, which is an open source program alternative to Matlab. With QtOctave you can do perform computationally intensive mathematical tasks that would take much longer to code in C or C++ or practically any other modern computer language. It is especailly good at matrix and vector operations. The graphical capabilities are very advanced. It is used heavily in engineering, and is a tool well worth learning.
This document describes how to use QtOctave. It does not describe using octave. Octave help is available from the menu Help->Octave Help or by clicking the button on the toolbar. Often tool tips are available by hovering the mouse over the various tools.

## File

### Open New QtOctave Window

- Opens a new main QtOctave window

### Editor

- Opens a new editor window

### Run an Octave Script

- Allows you to select an octave script to run and runs it

### Change Directory

- Changes the working directory. You can do the same thing with cd "directory name"

## View

### Windows Layout

Save or load actual windows configuration.

### Toolbars

Select here the toolbars you wish to display on the Octave window.

### Docks

Select which panels are open.

### Show/Hide objects

It shows or hides tools of QtOctave.

## Analysis

Tools to solve differential equations or integrate functions.

## Data

A graphical way to enter and save matrices

## Equations

A graphical interface to solving equations

## Matrix

A graphical interface to common matrix operations

## Statistics

A graphical interface to some statistical functions including...

- Mean
- Median
- Standard Deviation
- Covariance
- Correlation Coefficient
- Histogram

## Plot

A graphical interface to plotting functions

### SvgCanvas

You can show plots in SVG file format. You can export then to PDF, PNG,... Qt supports the static features of SVG 1.2 Tiny. ECMA scripts and DOM manipulation are currently not supported. You can find documentation about SVG in SVG 1.2 Tiny
QtOctave has several functions to work with SVG file format:
svgcanvasload(n, file_name)
Shows file_name in window n. File_name must be absolute path.
Example:

     svgcanvasload(1, '/home/user/ej1.svg')

svgcanvassave(n, width, height, file_name)
Saves plot in window n in file file_name. File_name must be absolute path. File_name can be a PDF, PNG, JPEG, PS,... file format.
Example:

     svgcanvassave(1, 200, 200, '/home/user/ej1.jpg')
     svgcanvassave(1, 200, 200, '/home/user/ej1.pdf')

svgcanvas_delete_on_load(n, file_name)
Shows file_name in window n. file_name is deleted. File_name must be absolute path. This command is very useful for animations.
Example:

     svgcanvas_delete_on_load(1, '/home/user/ej1.svg')

This is an example of SvgCanvas. It plots a Lissajous figure of phase phase, and frequency ratio w:

    function ej(w, phase)
    	if(!exist('w'))
    		w=2;
    		phase=pi/4;
    	endif
    	out=fopen("ej9.svg", "w");
    	fprintf(out, '<?xml version="1.0" standalone="yes"?>\n');
    	fprintf(out, '<svg width="200" height="200" version="1.1">\n');
    	fprintf(out, '<path d="M %f %f', 200, 100-100*sin(phase) );
    	n=1000;
    	for k=1:n
    		fprintf(out, " L %f %f", 100+100*cos(k/n*2*pi), 100-100*sin(w*k/n*2*pi+phase) );
    	endfor
    	fprintf(out, '" fill="none" stroke="black" stroke-width="1"/>\n');
    	fprintf(out, '</svg>\n');
    	fclose(out);
    	disp("Ok");
    	file_name=sprintf("%s/ej9.svg", pwd);
    	svgcanvasload(1, file_name );
    endfunction

## Configuration

### General Configuration

Set up things that are specific to your system.

#### Octave

- Octave Path: QtOctave needs to know where octave is installed on your system so let it in on the secret here.
- Octave Arguments: You can supply octave with arguments at startup. So list those, use the argument --help.
- Folders: Add all the folders where you have .m files that you want octave to know about. Especially if you have installed octave-forge, you need to make sure octave knows where those files are located.

#### Help

- Help Path: This is the location of the base file for octave help. It is called octave.html.

#### Editor

- External Editor: Select if you wish to use an external editor, and what that editor is.

#### Terminal

- Select colors and size of the terminal.

## Help

## * Build your own QtOctave menus.