
{"id":45825,"date":"2024-03-17T15:30:17","date_gmt":"2024-03-17T15:30:17","guid":{"rendered":"https:\/\/ubuntuhandbook.org\/?p=45825"},"modified":"2024-03-17T15:30:28","modified_gmt":"2024-03-17T15:30:28","slug":"gnu-octave-9-1-0-released","status":"publish","type":"post","link":"https:\/\/ubuntuhandbook.org\/index.php\/2024\/03\/gnu-octave-9-1-0-released\/","title":{"rendered":"GNU Octave 9.1.0 Released! How to Install it in Ubuntu"},"content":{"rendered":"<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2018\/07\/octave-logo.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-42801\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2018\/07\/octave-logo-250x250.webp\" alt=\"\" width=\"250\" height=\"250\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2018\/07\/octave-logo-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2018\/07\/octave-logo-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2018\/07\/octave-logo-600x600.webp 600w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2018\/07\/octave-logo-768x768.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2018\/07\/octave-logo.webp 1200w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/a><\/p>\n<p>GNU Octave, the free open-source application for numerical computations, released new major 9.1.0 version! Here&#8217;s how to install it in Ubuntu 20.04, Ubuntu 22.04, Ubuntu 23.10, and Ubuntu 24.04.<\/p>\n<p>The GNU website has not yet announced the new release, but it&#8217;s available in the <a href=\"https:\/\/ftp.gnu.org\/gnu\/octave\/\" target=\"_blank\" rel=\"noopener\">download page<\/a>.<\/p>\n<p>According to the changelog, the new Octave 9.1.0 overhauled <code>dec2base<\/code>, <code>dec2bin<\/code>, and <code>dec2hex<\/code>. They now accept negative inputs and fractional inputs.<\/p>\n<p>It re-architected the <code>inputParser<\/code> function to get a 60% performance improvement. And, the <code>perms<\/code> function has been made faster. The <code>audiowrite<\/code> function now supports writing to MPEG audio formats (including MP3) if the <code>sndfile<\/code> library supports it. The current directory of <code>oruntests<\/code> now changes to the directory containing the files with the tests for the duration of the test.<\/p>\n<p>The release features new functions, including <code>isenv<\/code>, <code>ismembertol<\/code>, <code>isuniform<\/code>, <code>tensorprod<\/code>.<\/p>\n<p>The <code>disable_diagonal_matrix<\/code>, <code>disable_permutation_matrix<\/code>, and <code>disable_range<\/code> functions have been removed! Replacements are <code>optimize_diagonal_matrix<\/code>, <code>optimize_permutation_matrix<\/code>, and <code>optimize_range<\/code><\/p>\n<p>Operators, such as <code>.+<\/code>, <code>.+=<\/code>, <code>**<\/code>, and <code>.**=<\/code> are removed. Replacements are <code>+<\/code>, <code>+=<\/code>, <code>+=<\/code>, <code>^<\/code>, and <code>.^=<\/code>. And, following function are obsolete:<\/p>\n<ul>\n<li><code>idx_vector::bool()<\/code><\/li>\n<li><code>all_ok(const Array&amp;)<\/code> in <code>Array-util.h<\/code>.<\/li>\n<li><code>octave_base_value::count<\/code><\/li>\n<\/ul>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/03\/octave910.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-45826\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/03\/octave910-700x435.webp\" alt=\"\" width=\"610\" height=\"379\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/03\/octave910-700x435.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/03\/octave910-300x186.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/03\/octave910-768x477.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/03\/octave910-1320x820.webp 1320w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2024\/03\/octave910.webp 1330w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><br \/>\n<!--more--><\/p>\n<p>Other changes include:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Classdef files now support breakpoints inside them.<\/li>\n<li>Support Qt6.<\/li>\n<li>Deprecate FLTK backend, in favor of Qt.<\/li>\n<li>The <code>set<\/code> function now accepts any combination of name\/value pairs, cell array of names \/ cell array of values, or property structures.<\/li>\n<li>The axes graphics property <code>\"TickDir\"<\/code> now accepts the option <code>\"none\"<\/code>. It will not draw tick marks but will still draw tick labels.<\/li>\n<li><code>quiver<\/code> and <code>quiver3<\/code> now properly plot non-float numeric inputs by internally casting them to &#8216;double&#8217;.<\/li>\n<li>Code such as `A = ones (3, 3); A(:, :, 1) = []` is now Matlab compatible.<\/li>\n<li><code>mad<\/code> function now produces Matlab compatible output using improved <code>mean<\/code> and <code>median<\/code> functions<\/li>\n<li><code>linspace<\/code> and <code>logspace<\/code> now handle <code>Inf<\/code> inputs in a Matlab compatible way.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><code>mode<\/code> now produces Matlab compatible output for empty inputs<\/li>\n<li>There are as well many other Matlab compatibility updates and bug-fixes. See the <a href=\"https:\/\/hg.octave.org\/octave\/file\/tip\/etc\/NEWS.9.md\" target=\"_blank\" rel=\"noopener\">NEWs file<\/a> for details!<\/li>\n<\/ul>\n<h3>How to Install GNU Octave 9.1.0<\/h3>\n<p>Besides building the new release from <a href=\"https:\/\/ftp.gnu.org\/gnu\/octave\/\" rel=\"noopener\" target=\"_blank\">source tarball<\/a>, there are so far 2 unofficial packages for the application: <b>Flatpak package<\/b> and <b>Ubuntu PPA<\/b>.<\/p>\n<h4>Option 1: Flatpak<\/h4>\n<p>Flatpak is an universal Linux package format run in sandbox. Fedora 38\/39 and Linux Mint can search &#038; install Octave as <a href=\"https:\/\/flathub.org\/apps\/org.octave.Octave\" rel=\"noopener\" target=\"_blank\">Flatpak package<\/a> from either GNOME Software or Software Manager.<\/p>\n<p>To install Octave as Flatpak in Ubuntu, simply press <b>Ctrl+Alt+T<\/b> on keyboard to open terminal. Then, run the commands below one by one:<\/p>\n<ul>\n<li>First, enable Flatpak support by running command:\n<pre>sudo apt install flatpak<\/pre>\n<\/li>\n<li>Then, install Octave Flatpak package via command:\n<pre>flatpak install https:\/\/dl.flathub.org\/repo\/appstream\/org.octave.Octave.flatpakref<\/pre>\n<\/li>\n<\/ul>\n<p><i>Tips: first time installing an app as Flatpak, needs a log out and back in to make app icon visible.<\/i><\/p>\n<h4>Option 2: Ubuntu PPA<\/h4>\n<p>For those who prefer the native <code>.deb<\/code> package, I have uploaded the package into <a href=\"https:\/\/launchpad.net\/~ubuntuhandbook1\/+archive\/ubuntu\/octave\" target=\"_blank\" rel=\"noopener\">this unofficial PPA<\/a> for Ubuntu 20.04, Ubuntu 22.04, Ubuntu 23.10 &amp; 24.04 on both x86_64 and arm64\/armhf devices.<\/p>\n<p>1. First, press <b>Ctrl+Alt+T<\/b> on keyboard to open terminal. When it opens, run command to add the PPA:<\/p>\n<pre>sudo add-apt-repository ppa:ubuntuhandbook1\/octave<\/pre>\n<p><i>Type user password (no asterisk feedback, just type in mind) when it asks and hit Enter to continue.<\/i><\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/octave-unofficial-ppa-jammy.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-44667\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/octave-unofficial-ppa-jammy-600x258.webp\" alt=\"\" width=\"600\" height=\"258\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/octave-unofficial-ppa-jammy-600x258.webp 600w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/octave-unofficial-ppa-jammy-300x129.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/octave-unofficial-ppa-jammy-768x330.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/octave-unofficial-ppa-jammy.webp 786w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>2. After added PPA, Linux Mint users need to manually refresh system package cache by running command:<\/p>\n<pre>sudo apt update<\/pre>\n<p>3. Finally, either run command in terminal to install the software package:<\/p>\n<pre>sudo apt install octave<\/pre>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/apt-octave.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-44668\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/apt-octave-600x407.webp\" alt=\"\" width=\"600\" height=\"407\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/apt-octave-600x407.webp 600w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/apt-octave-300x203.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/apt-octave-768x521.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/apt-octave.webp 786w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Or, use &#8220;Software Updater&#8221; (Update Manager) to install updates if an old version was installed on your system.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/upgrade-octave.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-44669\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/upgrade-octave-600x497.webp\" alt=\"\" width=\"600\" height=\"497\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/upgrade-octave-600x497.webp 600w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/upgrade-octave-300x248.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/11\/upgrade-octave.webp 708w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<h3>Uninstall:<\/h3>\n<p>For choice, you can either downgrade Octave package to the stock version in system repository by purging the Ubuntu PPA. To do so, open terminal (Ctrl+Alt+T) and run command:<\/p>\n<pre>sudo apt install ppa-purge &amp;&amp; sudo ppa-purge ppa:ubuntuhandbook1\/octave<\/pre>\n<p>Or, remove Octave .deb package by running command:<\/p>\n<pre>sudo apt remove --autoremove octave octave-common<\/pre>\n<p>And remove the Ubuntu PPA via command:<\/p>\n<pre>sudo add-apt-repository --remove ppa:ubuntuhandbook1\/octave<\/pre>\n<p>If you installed Octave via Flatpak package, run the command below instead to remove it:<\/p>\n<pre>flatpak uninstall --delete-data org.octave.Octave<\/pre>\n<p>Also, run <code>flatpak uninstall --unused<\/code> to remove useless run-time libraries to free up some disk space.<\/p>","protected":false},"excerpt":{"rendered":"<p>GNU Octave, the free open-source application for numerical computations, released new major 9.1.0 version! Here&#8217;s how to install it in Ubuntu 20.04, Ubuntu 22.04, Ubuntu 23.10, and Ubuntu 24.04. The GNU website has not yet announced the new release, but it&#8217;s available in the download page. According to the changelog, the new Octave 9.1.0 overhauled [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":42801,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,6],"tags":[1551,2086],"class_list":["post-45825","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-howtos","category-news","tag-gnu-octave","tag-programming"],"_links":{"self":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/45825","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/comments?post=45825"}],"version-history":[{"count":0,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/45825\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media\/42801"}],"wp:attachment":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media?parent=45825"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/categories?post=45825"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/tags?post=45825"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}