Suite de mon article Compiler du Fortran sous Windows il y a maintenant un bug report (très succinct à mon gout vu qu’il ne donne pas de solution) : In MATLAB 8.0 (R2012b), mex -setup cannont find Intel Visual Fortran Composer XE 2011 with Windows SDK 7.1 compiler on 32-bit Windows.
Archives pour la catégorie Best-of des commandes MATLAB utiles
Doc en R2012b
Parce que vous n’aimez pas le nouveau format HTML de la doc en R2012b, parce que vous trouvez que c’est lent ou que ça gèle votre MATLAB , vous avez envie de retrouver l’ancien format HTML .
Voici la commande magique :
Compiler du Fortran sous Windows
Compiler du Fortran sous Windows :
Situation :
- Windows XP 32-bit
– 2 versions MATLAB R2011b et R2012b
Pour faire simple , sans le support technique de MathWorks, il est impossible de compiler par exemple l’exemple timestwo.F ([matlabroot ‘\extern\examples\refbook\timestwo.F’]). Donc un grand merci au gars qui m’a aidé!! … entre nous c’est un bug MATLAB qui est à la cause de tout ça
Prérequis :
Avoir le compilateur Fortran qui va bien en R2011b et R2012b:
Intel Visual Fortran Composer XE 2011
Information qu’on retrouve sur le site du support :
compilateur 12b supporté
compilateur 11b supporté
La bonne nouvelle financière c’est qu’avoir Microsoft Windows SDK 7.1 est suffisant .
Une fois la trial téléchargée sur le site d’Intel , on peut commencer à mexer.
Une seule bar couleur
Optimiser les performances graphiques
Le 15 mai 2012 je donnais une astuce pour accélérer la création de plusieurs figures
Aujourd’hui je vais vous présenter une astuce pour accélérer le rafraichissement de vos graphiques.
J’ai trouvé un super lien dans la doc MATLAB à ce sujet: Optimizing Graphics Performance
A un moment donné un des conseils donné est « Setting All Modes to Manual« . Et un tableau plus bas donne en effet toutes les propriétés de l’axe à modifier.
Et là je me suis dit « c’est con qu’il n’y ait pas un code tout fait pour le faire! »
Et beh en fait si!
Il suffit de lire la section plus bas : « Update the Object’s Data » qui fournit un exemple et un lien pour l’éditer.
voir la sous function ManAxMode
Donc comme conseillé dans la page on fait d’avoir:
puis on utilise cette fonction :
function ManAxMode(h)
% Do not set CameraViewAngleMode, DataAspectRatioMode,
% and PlotBoxAspectRatioMode to aviod exposing a bug
pn = {'ALimMode',...
'CameraPositionMode','CameraTargetMode',...
'CameraUpVectorMode','CLimMode',...
'TickDirMode','XLimMode',...
'YLimMode','ZLimMode',...
'XTickMode','YTickMode',...
'ZTickMode','XTickLabelMode',...
'YTickLabelMode','ZTickLabelMode'};
for k = 1:15
pv(k) = {'manual'};
end
set(h,pn,pv)
end
Et je confirme ça accélère grave !!
Occurences dans un vecteur (suite)
Hier je vous montrais comment avec nnz calculer le nombre d’occurrences d’un nombre dans un vecteur:
A = [1 2 33 4 33 33 5 33 6 7 8 9]
La limitation de ce trick est lorsque le vecteur contient des NaN.
Exemple :
A = [1 2 33 4 33 33 5 33 6 7 8 9 NaN NaN]
en effet
nnz(A==NaN)
retourne zéro …
nnz
Suite de Conway
La Suite de Conway en MATLAB ça se programme comment?
Exemple : vous avez le vecteur input = [ 1 3 3 1 5 2 2]
Lorsqu’on lit cette suite mathématique :
il y a une fois le chiffre 1 -> 1 1
puis deux fois le chiffre 3 -> 2 3
puis une fois le chiffre 1 -> 1 1
puis une fois le chiffre 5 -> 1 5
puis deux fois le chiffre 2 -> 2 2
donc on cherche à obtenir : output = [1 1 2 3 1 1 1 5 2 2]