GNU Octave

Logiciel capture d'écran:
GNU Octave
Détails logiciels:
Version: 4.4.0 Mise à jour
Date de transfert: 22 Jun 18
Développeur: John W. Eaton
Licence: Gratuit
Popularité: 262

Rating: 2.7/5 (Total Votes: 3)

GNU Octave est un projet de logiciel de ligne de commande open source et librement distribué qui vise à fournir un langage de haut niveau puissant, facile à utiliser et extensible pouvant être utilisé pour le traitement de calculs numériques


Peut être utilisé pour résoudre numériquement des problèmes linéaires et non linéaires

Le logiciel peut être utilisé pour résoudre numériquement des problèmes linéaires et non linéaires, ainsi que pour effectuer diverses expériences numériques. Il est compatible avec Matlab, un environnement informatique numérique multi-paradigme, et peut être utilisé comme un langage orienté par lots.

De plus, GNU Octave offre divers utilitaires qui vous permettent de résoudre des problèmes d'algèbre linéaire, de manipuler des polynômes, d'intégrer des fonctions ordinaires, de découvrir les racines d'équations non-linéaires et d'intégrer des équations différentielles-algébriques et différentielles. / p>

Vous pouvez utiliser des modules chargés dynamiquement ou des fonctions définies par l'utilisateur pour étendre GNU Octave. Ceux-ci peuvent être écrits dans le propre langage de programmation d'Octave ou en C, C ++, Fortran, etc.

Démarrer avec GNU Octave

Deux méthodes sont disponibles pour installer GNU Octave sur un système d'exploitation GNU / Linux. Le premier est le plus facile et consiste à chercher l'octave & ldquo; package dans l'application Software Center (par exemple, Synaptic Package Manager) de votre distribution.

La deuxième méthode vous aidera à installer la dernière version du produit, mais elle implique l'exécution de commandes dans un émulateur de terminal. Si vous êtes en panne avec cela, téléchargez le dernier paquet source de Softoware ou de la page d'accueil officielle du projet (voir le lien à la fin de l'article), enregistrez-le sur votre PC et décompressez-le.

Ouvrez une application d'émulateur de terminal, exécutez le & lsquo; cd & rsquo; commande suivie du chemin d'accès à l'emplacement des fichiers d'archive extraits (par exemple, cd /home/softoware/octave-3.8.2), exécutez la commande & lsquo; ./ configure & amp; & amp; faire & rsquo; commande pour configurer et compiler le programme, puis exécutez le & lsquo; sudo make install & rsquo; commande pour l'installer. Utilisez-le depuis l'interface de ligne de commande en exécutant & lsquo; octave & rsquo; commande.

Sous le capot

En jetant un oeil sous le capot du programme GNU Octave, nous pouvons remarquer qu'il est entièrement écrit dans le langage de programmation C ++. Nous l'avons installé dans plusieurs distributions de GNU / Linux, y compris Arch Linux et Ubuntu en utilisant les instructions fournies dans la section ci-dessus. Le logiciel est compatible avec les plates-formes informatiques 32 bits et 64 bits.

Quoi de neuf dans cette version:

  • One des plus grandes nouvelles fonctionnalités pour la série Octave 3.8.x est une interface utilisateur graphique. C'est la seule chose que les utilisateurs ont demandé le plus souvent au cours des dernières années et maintenant il est presque prêt. Mais parce que ce n'est pas tout à fait aussi poli que nous le voudrions, nous avons décidé d'attendre la version 4.0.x avant de faire de l'interface graphique l'interface par défaut (jusque-là, vous pouvez utiliser l'option --force-gui pour démarrer l'interface graphique ).

Quoi de neuf dans la version:

  • L'une des plus grandes nouveautés de la série Octave 3.8.x est une interface utilisateur graphique. C'est la seule chose que les utilisateurs ont demandé le plus souvent au cours des dernières années et maintenant il est presque prêt. Mais parce que ce n'est pas tout à fait aussi poli que nous le voudrions, nous avons décidé d'attendre la version 4.0.x avant de faire de l'interface graphique l'interface par défaut (jusque-là, vous pouvez utiliser l'option --force-gui pour démarrer l'interface graphique ).

Nouveautés dans la version 4.2.0:

  • L'une des plus grandes nouveautés de la série Octave 3.8.x est une interface utilisateur graphique. C'est la seule chose que les utilisateurs ont demandé le plus souvent au cours des dernières années et maintenant il est presque prêt. Mais parce que ce n'est pas tout à fait aussi poli que nous le voudrions, nous avons décidé d'attendre la version 4.0.x avant de faire de l'interface graphique l'interface par défaut (jusque-là, vous pouvez utiliser l'option --force-gui pour démarrer l'interface graphique ).

Nouveautés dans la version 4.0.3:

  • L'une des plus grandes nouveautés de la série Octave 3.8.x est une interface utilisateur graphique. C'est la seule chose que les utilisateurs ont demandé le plus souvent au cours des dernières années et maintenant il est presque prêt. Mais parce que ce n'est pas tout à fait aussi poli que nous le voudrions, nous avons décidé d'attendre la version 4.0.x avant de faire de l'interface graphique l'interface par défaut (jusque-là, vous pouvez utiliser l'option --force-gui pour démarrer l'interface graphique ).

Nouveautés dans la version 4.0.1:

  • L'une des plus grandes nouveautés de la série Octave 3.8.x est une interface utilisateur graphique. C'est la seule chose que les utilisateurs ont demandé le plus souvent au cours des dernières années et maintenant il est presque prêt. Mais parce que ce n'est pas tout à fait aussi poli que nous le voudrions, nous avons décidé d'attendre la version 4.0.x avant de faire de l'interface graphique l'interface par défaut (jusque-là, vous pouvez utiliser l'option --force-gui pour démarrer l'interface graphique ).

Nouveautés dans la version 4.0.0:

  • L'une des plus grandes nouveautés de la série Octave 3.8.x est une interface utilisateur graphique. C'est la seule chose que les utilisateurs ont demandé le plus souvent au cours des dernières années et maintenant il est presque prêt. Mais parce que ce n'est pas tout à fait aussi poli que nous le voudrions, nous avons décidé d'attendre la version 4.0.x avant de faire de l'interface graphique l'interface par défaut (jusque-là, vous pouvez utiliser l'option --force-gui pour démarrer l'interface graphique ).

Nouveautés dans la version 3.8.2:

  • L'une des plus grandes nouveautés de la série Octave 3.8.x est une interface utilisateur graphique. C'est la seule chose que les utilisateurs ont demandé le plus souvent au cours des dernières années et maintenant il est presque prêt. Mais parce que ce n'est pas tout à fait aussi poli que nous le voudrions, nous avons décidé d'attendre la version 4.0.x avant de faire de l'interface graphique l'interface par défaut (jusque-là, vous pouvez utiliser l'option --force-gui pour démarrer l'interface graphique ).

Quoi de neuf dans la version 3.8.0:

  • L'une des plus grandes nouveautés d'Octave 3.8 est une interface utilisateur graphique. C'est la seule chose que les utilisateurs ont demandé le plus souvent au cours des dernières années et maintenant il est presque prêt. Mais parce que ce n'est pas tout à fait aussi poli que nous le voudrions, nous avons décidé d'attendre la version 4.0.x avant de faire de l'interface graphique l'interface par défaut (jusque-là, vous pouvez utiliser l'option --force-gui pour démarrer l'interface graphique ).
  • Compte tenu de la durée et du nombre de corrections de bugs et d'améliorations depuis la dernière version majeure d'Octave, nous avons également décidé de ne plus retarder la sortie de toutes ces nouvelles améliorations juste pour perfectionner l'interface graphique. Alors s'il vous plaît profiter de la version 3.8 d'Octave et l'aperçu de la nouvelle interface graphique. Nous pensons que cela fonctionne raisonnablement bien, mais nous savons aussi qu'il y a des points difficiles et beaucoup de choses qui pourraient être améliorées.

Nouveautés dans la version 3.4.0:

  • Les bibliothèques BLAS et LAPACK sont maintenant requises pour construire Octave. Le sous-ensemble des bibliothèques BLAS et LAPACK de référence a été supprimé des sources Octave.
  • La fonction `lookup 'a été étendue pour être plus utile pour la recherche binaire à usage général. En utilisant cette amélioration, la fonction ismember a été réécrite pour une meilleure performance.
  • Les matrices réelles, entières et logiques, lorsqu'elles sont utilisées dans l'indexation, mettent désormais en cache la valeur index_vector interne (index basés sur zéro) lorsqu'elles sont utilisées avec succès comme indices, éliminant ainsi la pénalité de conversion pour l'indexation ultérieure par la même matrice. En particulier, cela signifie qu'il n'est plus nécessaire d'éviter l'indexation répétée par des tableaux logiques en utilisant find pour des raisons de performances.
  • Les matrices logiques sont maintenant traitées plus efficacement lorsqu'elles sont utilisées comme indices. Octave conservera l'index comme masque logique à moins que le rapport des éléments vrais soit assez petit, en utilisant un code spécialisé. Auparavant, toutes les matrices logiques étaient toujours d'abord converties en vecteurs d'index. Cela se traduit par des économies de mémoire et de temps de calcul.
  • Les fonctions `sub2ind 'et` ind2sub' ont été réimplémentées en tant que fonctions compilées pour de meilleures performances. Ces fonctions sont maintenant plus rapides, peuvent fournir des résultats plus économisés pour les plages et peuvent réutiliser le mécanisme de cache d'index décrit dans le paragraphe précédent.
  • Les équivalents de fonction intégrés aux opérateurs associatifs (`plus ',` times', `mtimes ',` et', et `ou ') ont été étendus pour accepter plusieurs arguments. Ceci est particulièrement utile pour additionner (multiplier, etc.) des listes d'objets (de types possiblement distincts):
  • matrix_sum = plus (matrix_list {:});
  • Un type d'objet FTP basé sur libcurl a été implémenté. Ces objets permettent de gérer les connexions FTP, les téléchargements et les téléchargements. Par exemple,
  • fp = ftp ("ftp.octave.org); cd (fp," gnu / octave "); mget (fp," octave-3.2.3.tar.bz2 "); fermer (fp);
  • Le comportement par défaut de `assert (observé, attendu) 'a été assoupli pour utiliser une vérification moins stricte qui ne nécessite pas de correspondance entre les valeurs internes des valeurs. Cela évite que les tests précédemment validés ne se cassent en raison de nouvelles classes internes introduites dans les futures versions d'Octave.
  • Par exemple, toutes ces assertions étaient vraies dans Octave 3.0.x mais fausses dans 3.2.x en raison de nouvelles optimisations et améliorations:
  • assert (2 * linspace (1, 5, 5), 2 * (1: 5)) assert (zéros (0, 0), []) assert (2 * ones (1, 5), (2) (ones (1,5)))
  • Le comportement des fonctions de bibliothèque `ismatrix ',` issquare' et `issymmetric 'a été modifié pour une meilleure cohérence. La fonction `ismatrix 'renvoie maintenant vrai pour toutes les matrices numériques, logiques et de caractères 2-D ou N-D. Auparavant, `ismatrix 'renvoyait false si la première ou la deuxième dimension était zéro. Par conséquent, `ismatrix ([]) 'était faux, alors que` ismatrix (zeros (1,2,0))' était vrai.
  • La fonction `issquare 'retourne maintenant un scalaire logique, et est équivalente à l'expression
  • ismatrix (x) & amp; & amp; ndims (x) == 2 & amp; & amp; rows (x) == columns (x)
  • La dimension n'est plus retournée. En conséquence, `issquare ([]) 'renvoie maintenant true. La fonction `issymmetric 'vérifie maintenant la symétrie au lieu de l'hermitisme. Pour ce dernier, ishermitian a été créé. En outre, le scalaire logique est renvoyé plutôt que la dimension, donc `issymmetric ([]) 'est maintenant vrai. Les poignées de fonction sont maintenant conscientes des fonctions surchargées. Si une fonction est surchargée, le handle détermine au moment de sa référence quelle fonction appeler. Une version non surchargée n'a pas besoin d'exister.
  • Les fonctions de surcharge pour les classes intégrées (double, int8, cellule, etc.) sont maintenant compatibles avec Matlab.
  • Les poignées de fonction peuvent maintenant être comparées avec les opérateurs == et! =, ainsi qu'avec la fonction `isequal '.
  • Les performances de la concaténation (utilisant []) et les fonctions `cat ',` horzcat' et `vertcat 'ont été améliorées pour les tableaux multidimensionnels.
  • Les opérateurs d'affectation d'opération + =, - =, * = et / = se comportent maintenant plus efficacement dans certains cas. Par exemple, si M est une matrice et S un scalaire, alors l'instruction
  • M + = S;
  • fonctionnera sur les données de M si elles ne sont pas partagées par une autre variable, ce qui augmente généralement le temps et l'efficacité de la mémoire. Seules les combinaisons communes sélectionnées sont affectées, à savoir: matrice + = matrice matricielle - = matrice matricielle. * = Matrice matricielle ./= matrice
  • matrice + = matrice scalaire - = matrice scalaire * = matrice scalaire / = scalaire
  • matrice logique | = matrice logique matrice logique & amp; = matrice logique
  • où matrice et scalaire appartiennent à la même classe. Le côté gauche doit être une simple référence variable.
  • De plus, quand des opérateurs unaires apparaissent dans des expressions, Octave essayera aussi de faire l'opération sur place si son argument est une expression temporaire.
  • L'effet des opérateurs de comparaison (, =) appliqués aux nombres complexes a été modifié pour être cohérent avec l'ordre strict défini par les fonctions `max ',` min' et `sort '. Plus précisément, les nombres complexes sont comparés par comparaison lexicographique des paires `[abs (z), arg (z)] '. Auparavant, seules les parties réelles étaient comparées; ceci peut être trivialement réalisé en enveloppant les opérandes dans real ().
  • La simplification automatique des résultats de calcul complexes a changé. Octave va maintenant simplifier n'importe quel nombre complexe avec une partie imaginaire nulle ou une matrice complexe avec tous les éléments ayant une partie imaginaire nulle à une valeur réelle. Auparavant, cela n'était fait que pour les zéros positifs. Notez que le comportement de la fonction complexe est inchangé et produit toujours une valeur complexe même si la partie imaginaire est nulle.
  • En tant qu'effet secondaire du refactoring de code dans liboctave, les opérations logiques binaires sont désormais plus facilement accessibles aux optimisations du compilateur et sont donc nettement plus rapides.
  • Octave permet désormais aux méthodes `subsasgn 'définies par l'utilisateur d'optimiser les copies redondantes. Pour plus d'informations, consultez le manuel.
  • Gestion plus efficace des divisions matricielles. Octave est maintenant capable de gérer les expressions M 'V M.' V V / M
  • (M est une matrice et V est un vecteur) plus efficacement dans certains cas. En particulier, si M est triangulaire, les trois expressions seront traitées par un seul appel à xTRTRS (à partir de LAPACK), avec des drapeaux appropriés. Auparavant, les trois expressions nécessitaient une transposition physique de M
  • Gestion plus efficace de certaines opérations matricielles complexes complexes réelles. Par exemple, si RM est une matrice réelle et CM une matrice complexe, RM CM
  • peut maintenant être évalué comme

  • Complexe
  • (RM réel (CM), RM imag (CM))
  • ou
  • CM complexe (RM),
  • en fonction des dimensions. La première forme nécessite plus de provisoires et de copies, mais réduit de moitié le nombre de FLOP, ce qui normalement apporte de meilleures performances si RM a suffisamment de lignes. Auparavant, le deuxième formulaire était toujours utilisé.
  • La division de la matrice est affectée de la même manière.
  • Gestion plus efficace des facteurs matriciels triangulaires renvoyés par les factorisations. Les fonctions de calcul des factorisations QR, LU et Cholesky renvoient maintenant automatiquement les facteurs de la matrice triangulaire avec l'ensemble interne propre à matrix_type, de sorte qu'il n'aura pas besoin d'être calculé lorsque la matrice est utilisée pour la division.
  • La fonction intégrée 'sum' gère désormais plus efficacement la somme non native (c'est-à-dire la somme en double précision des entrées simples ou entières), évitant ainsi une conversion temporaire du tableau d'entrée en double. En outre, `sum 'peut maintenant accepter un argument option supplémentaire, en utilisant un algorithme de sommation compensée plutôt qu'une somme simple, ce qui améliore considérablement la précision si beaucoup d'annulation se produit dans la somme.
  • La fonction intégrée `bsxfun 'utilise maintenant du code optimisé pour certains cas où les poignées d'opérateurs intégrées sont transmises. Les optimisations concernent les opérateurs` plus', `minus ',` times', `ldivide ' , `rdivide ',` power', `et ',` ou' (pour les tableaux logiques), les opérateurs relationnels `eq ',` ne', `lt ',` le', `gt ',` ge', et les fonctions `min 'et` max'. Les optimisations ne s'appliquent que lorsque les deux opérandes appartiennent à la même classe prédéfinie. Les opérations mixtes real / complex et single / double convertissent d'abord les deux opérandes en un type commun.
  • Les fonctions `strfind 'et` strrep' ont maintenant des implémentations compilées, ce qui facilite considérablement la recherche et le remplacement dans les chaînes, en particulier avec des motifs plus longs. Le code de `strcat 'a été vectorisé et est maintenant beaucoup plus efficace lorsque de nombreuses chaînes sont concaténées. Les fonctions `strcmpi 'et` strncmpi' sont maintenant des fonctions intégrées, offrant de meilleures performances.
  • Le style Matlab ignorant les arguments des fonctions d'entrée et de sortie utilisant le tilde (~) est maintenant supporté. Les arguments de sortie ignorés peuvent être détectés à partir d'une fonction en utilisant la fonction intégrée `isargout '. Pour plus de détails, consultez le manuel.
  • Le type de données de la liste, obsolète depuis l'introduction des cellules, a été supprimé.
  • La fonction accumarray a été optimisée et est désormais nettement plus rapide dans certains cas importants.
  • Le comportement des fonctions isreal et isnumeric a été modifié pour être plus compatible avec Matlab.
  • Le maths entier & amp; les avertissements de conversion (Octave: int-convert-nan, octave: int-convert-non-int-val, octave: int-convert-overflow, octave: int-math-overflow) ont été supprimés.
  • rem et mod sont maintenant des fonctions intégrées. Ils gèrent également efficacement les types entiers en utilisant l'arithmétique des nombres entiers.
  • L'indexation fragmentée et l'affectation indexée ont été principalement réécrites. Comme Octave utilise un stockage de colonne compressé pour les matrices creuses, une attention particulière est accordée aux opérations manipulant des colonnes entières. De telles opérations sont désormais nettement plus rapides, ainsi que d'autres cas importants.
  • De plus, il est maintenant possible de pré-allouer une matrice éparse et ensuite de la remplir par des affectations, à condition de remplir certaines conditions. Pour plus d'informations, consultez la fonction `spalloc ', qui n'est plus un simple mannequin. Par conséquent, nzmax et nnz ne sont plus toujours égaux dans Octave. Octave peut aussi produire une matrice avec nnz & lt; nzmax à la suite d'autres opérations, vous devez donc utiliser systématiquement nnz sauf si vous voulez vraiment utiliser nzmax (c'est-à-dire l'espace alloué pour les éléments non nuls).
  • La concaténation fragmentée est également affectée, et la concaténation de matrices éparses, en particulier de collections plus importantes, est maintenant significativement plus efficace. Cela s'applique à la fois à l'opérateur [] et aux fonctions cat / vertcat / horzcat.
  • Il est maintenant possible d'utiliser éventuellement les pilotes xGESDD LAPACK pour calculer la décomposition des valeurs singulières en utilisant svd (), au lieu du fichier xGESVD par défaut, en utilisant la pseudo-variable de configuration svd_driver. Le pilote xGESDD peut être jusqu'à 6 fois plus rapide lorsque des vecteurs singuliers sont demandés, mais il est signalé comme étant moins robuste sur des matrices très mal conditionnées.
  • Les pseudo-variables de configuration, telles que page_screen_output ou confirm_recursive_rmdir (ou svd_driver mentionné ci-dessus), acceptent maintenant une option "local" comme deuxième argument, demandant que la modification soit annulée lorsque la fonction en cours retourne: function [status, msg] = rm_rf (dir) confirm_recursive_rmdir (false, "local"); [statut, msg] = rmdir (dir, "s"); ... endfunction Au retour, confirm_recursive_rmdir sera restauré à la valeur qu'il avait à l'entrée de la fonction, même s'il y a eu des modifications ultérieures de la variable dans la fonction rm_rf ou l'une des fonctions qu'elle appelle.
  • pkg accepte maintenant une option -forge pour le téléchargement et l'installation automatique des paquets d'Octave Forge. Par exemple, pkg install -forge general téléchargera automatiquement la dernière version du paquet général et tentera de l'installer. Aucune résolution automatique des dépendances n'est fournie. En outre,
  • pkg list -forge peut être utilisé pour lister tous les paquets disponibles.
  • ** La représentation des données internes des structures a été complètement réécrite pour rendre certaines optimisations réalisables. Les données de champ peuvent désormais être partagées entre des structures ayant des clés égales mais des dimensions ou des valeurs différentes, ce qui rend les opérations qui préservent les champs plus rapidement. Le stockage économisé est maintenant utilisé pour les structures scalaires (comme la plupart des autres scalaires), rendant leur utilisation plus efficace sur le plan de la mémoire. Certaines opérations de type tableau sur les structures (concaténation, uniformfun cellfun, num2cell) ont gagné une accélération significative. De plus, la classe octave_scalar_map fournit désormais une interface plus simple pour travailler avec des structures scalaires dans une fonction DLD C ++.
  • ** Deux nouveaux formats sont disponibles pour l'affichage des nombres:
  • format court format long eng
  • Les deux affichent des nombres en notation d'ingénierie, c'est-à-dire, mantisse + exposant où l'exposant est un multiple de 3.
  • ** Les fonctions suivantes sont nouvelles dans Octave 3.4:
  • accumdim erfcx nfields pqpnonneg uigetdir bitpack fileread nth_element quadcc uigetfile bitunpack fminbnd onCleanup randi uiputfile blkmm fskipl pbaspect repelems uimenu cbrt ifelse pie3 réinitialiser whitebg curl ishermitian powerset rsf2csf chop isindex ppder saveas daspect luupdate ppint strread divergence fusionner ppjumps textread
  • ** L'utilisation de la fonction image pour afficher des images avec des programmes externes tels que display, xv et xloadimage n'est plus prise en charge. La fonction image_viewer a également été supprimée.
  • ** Le comportement des affectations de structure aux valeurs non-struct a été modifié. Auparavant, il était possible d'écraser une valeur arbitraire: a = 1; a.x = 2;
  • Ce n'est plus possible sauf si a est une matrice vide ou un tableau de cellules.
  • ** La fonction dlmread a été étendue pour permettre de spécifier une valeur personnalisée pour les champs vides.
  • ** Les fonctions dlmread et dlmwrite ont été modifiées pour accepter les ID de fichier (tels que renvoyés par fopen) en plus des noms de fichiers.
  • ** Octave peut maintenant optimiser l'overhead de l'interpréteur d'un handle de fonction anonyme, si la fonction appelle simplement une autre fonction ou handle avec certains de ses paramètres liés à certaines valeurs. Exemple: f = @ (x) somme (x, 1);
  • Lorsque f est appelé, l'appel est transmis à @sum avec la constante 1 ajoutée, et l'appel de fonction anonyme ne se produit pas dans la pile des appels.
  • Fonctions obsolètes.
  • Les fonctions suivantes ont été abandonnées dans Octave 3.2 et seront supprimées d'Octave 3.6 (ou quelle que soit la version est la deuxième version majeure après 3.2):
  • create_set spcholinv splu dmult spcumprod spmax iscommand spcumsum spmin israwcommand spdet spprod lchol spdiag spqr loadimage spfind spsum mark_as_command spcat spsumsq mark_as_rawcommand spinv spvcat spatan2 spkron str2mat spchol splchol unmark_command spchol2inv scinder unmark_rawcommand
  • Les fonctions suivantes ont été abandonnées dans Octave 3.4 et seront supprimées d'Octave 3.8 (ou quelle que soit la version est la deuxième version majeure après 3.4):
  • autocor cellidx gammai krylovb valeurs envoi autocov glpkmex replot betai fstat is_global saveimage
  • Pour la compatibilité avec Matlab, mu2lin (x) est maintenant équivalent à mu2lin (x, 0).
  • La bibliothèque ARPACK est maintenant distribuée avec Octave. Elle ne doit donc plus être disponible en tant que dépendance externe lors de la construction d'Octave.

Nouveautés dans la version 3.2.3:

  • Octave 3.2.3 est une version de correction de bugs

Nouveautés dans la version 3.0.4:

  • Octave 3.0.4 est une version de correction de bug. La plupart des bogues rapportés depuis la sortie de la version 3.0.3 ont été corrigés. Veuillez noter qu'Octave 3.0 est significativement différent d'Octave 2.1.x, en particulier en ce qui concerne les graphiques, la gestion des chemins et les variables intégrées.

Logiciel similaire

Azure
Azure

3 Jun 15

J
J

20 Feb 15

Tiny C Compiler
Tiny C Compiler

3 Jun 15

daot
daot

11 May 15

D'autres logiciels de développeur John W. Eaton

Octave
Octave

2 Jun 15

Commentaires à GNU Octave

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!