Editing FAQ

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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 12: Line 12:


<div class="tocinline">__TOC__</div>
<div class="tocinline">__TOC__</div>
=== Support expectations ===
See [https://octave.org/support-expectations.html Support Expectations]
Also this [https://www.commitstrip.com/en/2014/05/07/the-truth-behind-open-source-apps/ CommitStrip]


=General=
=General=
Line 57: Line 52:
   John W. Eaton, David Bateman, Søren Hauberg, Rik Wehbring ({{Release Year}}).
   John W. Eaton, David Bateman, Søren Hauberg, Rik Wehbring ({{Release Year}}).
   GNU Octave version {{Release}} manual: a high-level interactive language for numerical computations.
   GNU Octave version {{Release}} manual: a high-level interactive language for numerical computations.
   URL https://octave.org/doc/v{{Release}}/
   URL https://www.gnu.org/software/octave/doc/v{{Release}}/


A [https://en.wikipedia.org/wiki/BibTeX BibTeX] entry for [https://en.wikipedia.org/wiki/LaTeX LaTeX] users is:
A [https://en.wikipedia.org/wiki/BibTeX BibTeX] entry for [https://en.wikipedia.org/wiki/LaTeX LaTeX] users is:
Line 65: Line 60:
     author    = {John W. Eaton and David Bateman and S{\o}ren Hauberg and Rik Wehbring},
     author    = {John W. Eaton and David Bateman and S{\o}ren Hauberg and Rik Wehbring},
     year      = <span>{</span>{{Release Year}}},
     year      = <span>{</span>{{Release Year}}},
     url      = {[https://octave.org/doc/v{{Release}}/ https://octave.org/doc/v{{Release}}/]},
     url      = {https://www.gnu.org/software/octave/doc/v{{Release}}/},
   }
   }


Line 87: Line 82:
The following steps have been the solution to several bug reports and help requests.  Please try them before asking for further support.  If nothing below helps, please give us the following information:
The following steps have been the solution to several bug reports and help requests.  Please try them before asking for further support.  If nothing below helps, please give us the following information:


* Operating system: e.g. [https://support.microsoft.com/en-us/help/13443/windows-which-version-am-i-running '''MS Windows 10 (version 2004)'''] or '''Ubuntu 20.04'''
* Operating system: e.g. [https://support.microsoft.com/en-us/help/13443/windows-which-version-am-i-running '''Windows 10 (version 1909)'''] or '''Ubuntu 20.04'''
* GNU Octave version: e.g. '''Version {{Release}}'''
* GNU Octave version: e.g. '''Version {{Release}}'''
* Installation method: e.g. '''Downloaded and installed "octave-{{Release}}-w64-installer.exe" from https://www.octave.org/download.html'''
* Installation method: e.g. '''Downloaded and installed "octave-{{Release}}-w64-installer.exe" from https://www.octave.org/download.html'''
Line 94: Line 89:


* After Octave upgrade the GUI does not open / shuts down immediately.
* After Octave upgrade the GUI does not open / shuts down immediately.
** '''Solution:'''
** '''Solution:''' Delete the folder {{path|C:\Users\YOUR_USER_NAME\.config\octave}}
*** Version 5.2.0 and older: Delete the folder {{path|C:\Users\YOUR_USER_NAME\.config\octave}}
*** Version 6.1.0 and newer: Delete the folder {{path|%APPDATA%\octave}}, which generally is located at {{path|C:\Users\YOUR_USER_NAME\AppData\Roaming\octave}}
* Missing/conflicting files.
* Missing/conflicting files.
** '''Solution:''' Remove/Uninstall all existing Octave versions.  Restart the system.  Install GNU Octave again.
** '''Solution:''' Remove/Uninstall all existing Octave versions.  Restart the system.  Install GNU Octave again.
 
* Permission errors.
* Permission errors
** '''Solution 1:''' Consult your malware detection (a.k.a. AntiVirus) software, if files are blocked.
** '''Solution 1:''' Octave versions prior to version 7.1.0 on MS Windows used VBS scripts to start the program.  You can test whether your system is blocking VBS scripts by doing the following:
** '''Solution 2:''' Did you install Octave on a network-drive?  Do you have the execution permissions?
**# Using Notepad or another text editor, create a text file containing only the text: <pre>msgbox("This is a test script, Click OK to close")</pre>
**# Save the file on your Desktop with the name {{Path|testscript.vbs}} (be sure that the editor didn't end it in .txt or .vbs.txt).
**# Double click the file.  If scripts can run, a popup window will appear with that message.
**#* If the file opens in notepad or an editor, it means it still ended in .txt.  MS Windows insecurely hides file extensions by default.  To show file extensions follow [https://answers.microsoft.com/en-us/windows/forum/all/in-win10-how-to-show-the-file-extension-for/ed21ff20-cdb3-4263-9c7d-fc6ed125fc82 these instructions at Microsoft.com].
**#* If both {{Path|testscript.vbs}} and {{Path|octave.vbs}} open a text- or other editor, it means your MS Windows file associations have .vbs files associated with another program.  To fix this, right click the .vbs file, select "Open With", select "Choose Another App", check the box that says "Always use this app to open .vbs files".  Finally, select "Microsoft Windows Based Script Host" from the list.  If it is not in the list, select "More apps".  If still not there, select "Look for Another App on this PC" and navigate to {{Path|C:\Windows\System32\wscript.exe}}, select it, and select "Open".  If {{Path|wscript}} is still not present you will need to seek assistance installing missing MS Windows components.
**# Try moving {{Path|testscript.vbs}} to another location, such as a {{Path|C:\temp folder}}.  Additionally try to move {{Path|testscript.vbs}} in the Octave installation folder containing {{Path|octave.vbs}} and see if VBS scripts can be run there.
**# If {{Path|testscript.vbs}} doesn't run in any of those locations, then scripting appears to be disabled or blocked on your system.  If {{Path|testscript.vbs}} runs in some locations but not others, there there may be other security permissions errors to be solved.  If {{Path|testscript.vbs}} runs in the same folder as {{Path|octave.vbs}}, but directly double-clicking on {{Path|octave.vbs}} does not start Octave, then there appears to be some problem other than script permissions.
** '''Solution 2:''' Consult your malware detection (a.k.a. AntiVirus) software, if files are blocked.
** '''Solution 3:''' Did you install Octave on a network-drive?  Do you have the execution permissions?
** '''Solution 4:''' Is your computer managed by your company?  Does your administrator prohibit script execution?
===Collecting gdb backtrace information===
The following instructions can help you gather troubleshooting information that may help developers identify the problem if the above steps are ineffective:
* if Octave is 'hanging' (the process is remaining open):
*# attempt to start the Octave GUI
*# with the program stalled (either at the GUI, or with the black terminal window), open the Task Manager (right click on taskbar, select Task manager), switch to the "Details" tab, find `octave-gui.exe` on that list, ad take note of the corresponding PID (process ID)
*# Open the folder where Octave is installed. You should find a file called `cmdshell.bat` in the main folder. Run that file, which should open a MSYS2 bash (command line) window.
*# At that prompt, run `gdb -p <em>PID</em>` where <em>PID</em> is the process ID noted previously.
*# at the gdb prompt, execute `set logging on` to save all output to a text file (default will be `gdb.txt`. If you want a different location or filename you can execute `set logging file C:\path\to\file.txt` first).
*# execute `thread apply all bt`.  (If this returns a list longer than one page you may need to 'continue' by typing `c`.)
*# execute `quit` to leave gdb.
*# append that text file to your trouble report at octave.discourse.group or bug report at bugs.octave.org.
 
* if Octave is immediately crashing and closing:
*# Open the folder where Octave is installed. You should find a file called `cmdshell.bat` in the main folder. Run that file, which should open a MSYS2 bash (command line) window.
*# At that prompt, run `gdb octave`. (that will start gdb attached to the octave executable.)
*# at the gdb prompt, execute `set logging on` to save all output to a text file (default will be `gdb.txt`. If you want a different location or filename you can execute `set logging file C:\path\to\file.txt` first).
*# At the gdb prompt, execute `r --gui`.  That should attempt to start the Octave in GUI mode.  The gdb prompt should stay unresponsive as long as octave is running.
*# If octave crashes, the gdb prompt should become responsive again. execute `thread apply all bt`.  (If this returns a list longer than one page you may need to 'continue' by typing `c`.)
*# append the text file to your trouble report at octave.discourse.group or bug report at bugs.octave.org.


==I do not see any output of my script until it has finished?==
==I do not see any output of my script until it has finished?==
Line 158: Line 122:
==Why is Octave's floating-point computation wrong?==
==Why is Octave's floating-point computation wrong?==


Floating-point arithmetic is an approximation '''in binary''' to arithmetic on real or complex numbers.  Just like you cannot represent 1/3 exactly in decimal arithmetic (0.333333... is only a rough approximation to 1/3 for any finite number of 3s), you cannot represent some fractions like <math>1/10</math> exactly in base 2.  In binary, the representation to one tenth is <math>0.0\overline{0011}_b</math> where the bar indicates that it repeats infinitely (like how <math>1/6 = 0.1\overline{6}_d</math> in decimal).  Because this infinite repetition cannot be represented exactly with a finite number of digits, rounding errors occur for values that appear to be exact in decimal but are in fact approximations in binary, such as for example how 0.3 - 0.2 - 0.1 is not equal to zero.
Floating-point arithmetic is an approximation '''in binary''' to arithmetic on real or complex numbers.  Just like you cannot represent 1/3 exactly in decimal arithmetic (0.333333... is only a rough approximation to 1/3), you cannot represent some fractions like <math>1/10</math> exactly in base 2.  In binary, the representation to one tenth is <math>0.0\overline{0011}_b</math> where the bar indicates that it repeats infinitely (like how <math>1/6 = 0.1\overline{6}_d</math> in decimal).  Because this infinite repetition cannot be represented exactly with a finite number of digits, rounding errors occur for values that appear to be exact in decimal but are in fact approximations in binary, such as for example how 0.3 - 0.2 - 0.1 is not equal to zero.


In addition, some advanced operations are computed by approximation and there is no guarantee for them to be accurate, see [https://en.wikipedia.org/wiki/Rounding#Table-maker.27s_dilemma Table-maker's dilemma] for further references. Their results are system-dependent.
In addition, some advanced operations are computed by approximation and there is no guarantee for them to be accurate, see [https://en.wikipedia.org/wiki/Rounding#Table-maker.27s_dilemma Table-maker's dilemma] for further references. Their results are system-dependent.
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)