Talk: Scientific programming with GNU Octave

At the Shibaura Institute of Technology I was given the opportunity to talk about GNU Octave.


This is a companion discussion topic for the original entry at https://siko1056.github.io/blog/2019/11/22/talk-about-octave.html

Greetings, I know your post was made several months ago, I hope I’m not breaking any rule by responding to it to late, I saw the materials of yout talk at github and I was trying to run one of the examples provided, but I don’t know if I’m linking correctly Octave to the Jupyter notebook, since i get this error:

instead of getting this ouput as in the ipynb that is already provided:

hoping you can tell me what problem is arising and thanks for the information you provided, I think using jupyter notebooks is a good way to document and show examples of graphics and code.

Thanks for your interest, it is never too late to ask and it does not violate any rule in this forum.

To get the “qt” toolkit to work in Jupyter and Octave, one must use a little trick to get around a restriction of octave_kernel, described in the section “Octave-Snap (Linux)” there. octave_kernel permits to only use octave-cli, which does not support “qt”. In general this restriction is not necessary and enables more advanced plotting if it wasn’t there.

If you are using Linux, you can simply create a symbolic link, e.g.

which octave  # Find out /path/to/octave
ln -s  /path/to/octave   $HOME/bin/octave-not-really-cli
export OCTAVE_EXECUTABLE=$HOME/bin/octave-not-really-cli
jupyterlab    # Start Jupyter notebook

For other systems the setup is described in these slides https://github.com/gnu-octave/octave_slides/releases/download/2019-12-24/setup.pdf

If something is not working, please ask again.

Thank you very much for your reply, i did some cleanup and reinstallations to ensure everything is new and ok to run.

  • I install GNU octave I selected the instaltion to be at:

C:\Octave\Octave-6.1.0

  • Jupyter and python come from installing anaconda3

  • I run conda install octave_kernel in anaconda prompt which gets the octave kernel

  • I also run the variable set OCTAVE_EXECUTABLE=C:\Octave\Octave-6.1.0\mingw32\bin\octave-cli.exe at the anaconda prompt

the instructions say that i should check the octave.vbs to tell jupyter where to look at

i imagine is linked to the part:

' check args to see if told to run gui or command line
' and build other args to use
GUI_MODE=1
AllArgs = ""
Set wshArgs = WScript.Arguments
For I = 0 to wshArgs.Count - 1
  If wshArgs(I) = "--no-gui" Then GUI_MODE=0
  AllArgs = AllArgs & " " & chr(34) & wshArgs(I) & chr(34)
Next

' start octave-gui, either with console shown or hidden
If GUI_MODE = 1 then
  AllArgs = AllArgs & " " & chr(34) & "--gui" & chr(34)
  wshShell.Run chr(34) & OctavePath & "\bin\octave-gui.exe" & Chr(34) & AllArgs, 0
Else
  wshShell.Run chr(34) & OctavePath & "\bin\octave-gui.exe" & Chr(34) & AllArgs, 1
End If

since it’s the part where the object defined in the wshShell its told to run with some arguments depending if the guimode is 1 or 0 i think?

Do you receive some error message or which instruction refer you to octave.vbs? Admittedly, I did not try using JupyterLab on MS Windows for quite some time :innocent:

Yes in the setup slides, for microsoft windows it’s this one:

since the set OCTAVE_EXECUTABLE still point to the cli-exe it still gets inline plotting that doesn’t look like the one in the gui or in your presentations,

Does ...\octave-gui.exe instead of ...\octave-cli.exe work?