Outils pour utilisateurs

Outils du site


lang:matlab

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

lang:matlab [2024/02/01 09:42] – Création en vrac rootlang:matlab [2025/10/17 12:32] (Version actuelle) – Mise en forme root
Ligne 1: Ligne 1:
 +=====Syntaxe=====
 +
 +====Base====
 +
 '';'' en fin de ligne : désactive la sortie standard '';'' en fin de ligne : désactive la sortie standard
  
Ligne 7: Ligne 11:
 nom des variables valides ''[a-zA-Z][a-zA-Z0-9_]*'' nom des variables valides ''[a-zA-Z][a-zA-Z0-9_]*''
  
-  * Workspace+====Blocs====
  
-''load/save filename parameters'' : charge / enregistre l'environnement de travail dans le fichier ''filename.mat''. Si un paramètre est défini, cela ne va charger / enregistrer que les variables spécifiées.+  * Condition
  
-''clear'' : vide l'espace de travail (perte des variables).+<code> 
 +if condition1 
 + code 
 +elseif condition2 
 + code 
 +end 
 +</code>
  
-''clear all'' : nettoie intégralement le workspace. https://fr.mathworks.com/help/matlab/ref/clear.html+  * Boucle
  
-''clc'' vide la console sans vider l'espace de travail.+<code> 
 +for c = 1:
 +  XX 
 +end 
 +</code>
  
-''format long'' (15 décimales) / ''format short'' (4 décimales) modifier le nombre de décimales.+Inverse:
  
-''whos'' toutes les variables de l'environnement+<code> 
 +for c = 3:-1:1 
 +</code>
  
-''properties(id)'' et ''methods(id)'' : introspection de l'objet.+  * Lambda
  
-''class(defaultVal)''namespace.classname+''func = @() c''ici, une méthode lambda sans argument renvoie la variable c. 
 + 
 +  * Matlab pointer 
 + 
 +https://fr.mathworks.com/help/matlab/matlab_external/passing-arguments-to-shared-library-functions.html
  
-  * Types+====Types====
  
 scalar : tableau 1*1 : ''x=4'' scalar : tableau 1*1 : ''x=4''
Ligne 35: Ligne 55:
 matrix : x*x : ''c=[5 6 7;8 9 10]'' matrix : x*x : ''c=[5 6 7;8 9 10]''
  
-cell : ''{1, "coucou"}''+cell : ''%%{1, "coucou"}%%''
  
 vecteur ligne de 1 à 10 inclus : ''1:10'' ou ''[1:10]'' vecteur ligne de 1 à 10 inclus : ''1:10'' ou ''[1:10]''
Ligne 41: Ligne 61:
 Boucle : avec un pas de 2 : ''1:2:10'' Boucle : avec un pas de 2 : ''1:2:10''
  
-  * Matrix+====Matrix====
  
-Pour accéder à une valeur d'un tableau, il faut utiliser les parenthèses:+Pour accéder à une valeur d'un tableau, il faut utiliser les parenthèses. La numérotation des index commence à 1.
  
 ''data(6,3)'' ''data(6,3)''
Ligne 61: Ligne 81:
 Attention si on a une matrice d'objet. Si l'objet n'a pas de constructeur vide, il ne faut pas avoir de valeur vide. Sinon l'erreur ''Not enough input arguments.'' va apparaître. Attention si on a une matrice d'objet. Si l'objet n'a pas de constructeur vide, il ne faut pas avoir de valeur vide. Sinon l'erreur ''Not enough input arguments.'' va apparaître.
  
 +L'assignation de sous-matrix fait une copie :
  
-Cela fait une copie :+<code>
 v2 = data(:,end) v2 = data(:,end)
 v2(1) = 0.5 v2(1) = 0.5
 +</code>
 +
 data n'a pas changé. data n'a pas changé.
  
-modifier un tableau avec une seule valeur : va + 1 +Modifier un tableau avec une seule valeur : ''va + 1''. L'opérateur * est une multiplication matricielle. Si on veut seulement multiplier par une seule valeur, élément par élément : ''.*''
-l'opérateur * est une multiplication matricielle. +
-Si on veut seulement multiplier par une seule valeur pour par des valeurs, élément par élément : .*+
  
 +<code>
 x = [1 2;3 4;5 6; 7 8].*[1;2;3;4] x = [1 2;3 4;5 6; 7 8].*[1;2;3;4]
  
Ligne 77: Ligne 99:
 15 18 15 18
 28 32 28 32
 +</code>
  
-Extraire les valeurs d'un résultat multiple: +Extraire les valeurs d'un résultat multiple : ''[dr, dc] = size(data)''.
-[dr, dc] = size(data) +
-[vMax, ivMax] = max(v) : renvoie la valeur max et l'indice de la valeur max par colonne. +
-Pour ignorer une des valeurs : utiliser le ~ : [~, ivMax] = max(v)+
  
 +''[vMax, ivMax] = max(v)'' : renvoie la valeur max et l'indice de la valeur max par colonne.
 +
 +Pour ignorer une des valeurs : utiliser le ~ : [~, ivMax] = max(v)
  
 Il est possible de nommer les lignes et colonnes d'une matrix: Il est possible de nommer les lignes et colonnes d'une matrix:
  
 +<code>
 sample = rand(3,3); sample = rand(3,3);
 rowNames = {'a','b','c'}; rowNames = {'a','b','c'};
 colNames = {'x','y','z'}; colNames = {'x','y','z'};
 sTable = array2table(sample,'RowNames',rowNames,'VariableNames',colNames) sTable = array2table(sample,'RowNames',rowNames,'VariableNames',colNames)
-On y accède avec un . : sTable.a+</code>
  
 +On y accède avec un ''.'' : ''sTable.a''.
  
 +====Programmation orienté objet====
  
-Condition: +Les properties sont en PascalCase.
-if condition1  +
- code  +
-elseif condition2 +
- code  +
-end +
  
 +Dans un objet, on ne peut pas ajouter de ''properties''.
  
-Boucle : +Dans une structure (comme un objet mais sans sa déclaration via ''classdef''), on peut créer les ''properties'' à la volée.
-for c = 1:3 +
-  XX +
-end +
-Inverse: +
-for c = 3:-1:1 +
- +
- +
-OOP +
-Les properties sont en PascalCase +
-Dans un objet, on ne peut pas ajouter de properties. +
-Dans une structure (comme un objet mais sans sa déclaration via classdef), on peut créer les properties à la volée. +
  
 <code> <code>
-% En héritant de handle, l'objet n'est plus passé en copie mais toujours en référence.+% En héritant de handle, l'objet n'est plus passé en copie mais toujours en référence (ou pointer).
 classdef idstick < handle classdef idstick < handle
     enumeration     enumeration
Ligne 158: Ligne 168:
 end end
 </code> </code>
- 
-classdef AccountState  end. 
  
 Attention. Tout est en copie sauf si l'objet hérite de ''handle''. Modifier obj depuis une méthode ne modifiera pas la variable obj initiale. Attention. Tout est en copie sauf si l'objet hérite de ''handle''. Modifier obj depuis une méthode ne modifiera pas la variable obj initiale.
 +=====Commandes=====
  
 +  * Workspace
  
-Syntaxe d'une lambda func = @() c : iciune méthode lambda sans argument renvoit la variable c.+''load/save filename parameters'' charge / enregistre l'environnement de travail dans le fichier ''filename.mat''. Si un paramètre est définicela ne va charger / enregistrer que les variables spécifiées.
  
 +''clear'' : vide l'espace de travail (perte des variables).
  
-Matlab pointer +''clear all'' : nettoie intégralement le workspace. https://fr.mathworks.com/help/matlab/ref/clear.html 
-https://fr.mathworks.com/help/matlab/matlab_external/passing-arguments-to-shared-library-functions.html+ 
 +''clc'' : vide la console sans vider l'espace de travail. 
 + 
 +''format long'' (15 décimales) / ''format short'' (4 décimales) : modifier le nombre de décimales. 
 + 
 +''whos'' : toutes les variables de l'environnement 
 + 
 +''properties(id)'' et ''methods(id)'' : introspection de l'objet. 
 + 
 +''class(defaultVal)'' : namespace.classname
  
lang/matlab.1706776926.txt.gz · Dernière modification : de root