Une R2010bSP1 en attendant

je l’avais senti (cf. mon post R2011a se fait attendre!) que cette 11a ne sortirait pas comme les autres releases !
En attendant le 17 mars est sorti un Service Pack : la R2010SP1 ce qui nous donne un MATLAB 7.11.1

Voici ce qu’on peut lire sur la page des produits de TMW :

Release 2010b Service Pack 1 is now available.

Service packs provide updates to previously released versions of MathWorks products. Release 2010b Service Pack 1 (R2010bSP1), released March 17, 2011, includes bug fixes to 10 products and updates to 4 products to ensure compatibility with other products in this release. Products that do not include bug fixes or compatibility updates are unchanged from R2010b versions. R2010bSP1 is fully compatible with R2010b, has been tested for production use, and is available for download.

Bon beh voilà une R2010bSP1 en 2011 , on va encore bien se mélanger les pinceaux ;)

MATLAB vous dit bonjour

En cherchant des graphiques cool sur le web , je suis tombé sur ce code MATLAB qui mixe les fonctions classiques meshgrid et patch :

[x y] = meshgrid( linspace(-3,3,50), linspace(-5,5,50) );
z = exp(-x.^2-0.5*y.^2).*cos(4*x) + exp(-3*((x+0.5).^2+0.5*y.^2));
idx = ( abs(z)>0.001 );
z(idx) = 0.001 * sign(z(idx));

figure(‘renderer’,’opengl’)
patch(surf2patch(surf(x,y,z)), ‘FaceColor’,’interp’);
set(gca, ‘Box’,’on’, …
‘XColor’,[.3 .3 .3], ‘YColor’,[.3 .3 .3], ‘ZColor’,[.3 .3 .3], ‘FontSize’,8)
title(‘$e^{-x^2 – \frac{y^2}{2}}\cos(4x) + e^{-3((x+0.5)^2+\frac{y^2}{2})}$’, …
‘Interpreter’,’latex’, ‘FontSize’,12)

view(35,65)
colormap( [flipud(cool);cool] )
camlight headlight, lighting phong

et voilà le résultat ! MATLAB says hi ! beh ouais va falloir attendre un peu avant d’avoir la version française ;)

matlab say hi!

j’adooooore , ce qui permet d’alimenter un peu plus notre catégorie blagues matlab et graphiques cools

bon voilà ce post c’est histoire de faire patienter la R2011a qui décidément est bien partie pour battre la date de sortie de la R14SP2 !

Enfin la R2011a est là!

D’abord j’indiquais l’url de la page web à lire:

str = urlread('http://www.mathworks.com/support/');

puis je testais s’il y avait toujours marqué ce qu’on peut lire dans le screenshot du desssus:
isempty(strfind(str,'Available September 2010'))

Si ça me retournait la valeur booléenne zéro donc faux , c’est que la pub de la 10b disant qu’elle est disponible depuis septembre 2010 était toujours affichée

Et maintenant enfin la R2011a apparait:

r2011a

Pour vous mettre l’eau à la bouche , Tim Gillis vous présente les points forts de cette release en 1 mn , voir la vidéo.

Solution technique à la première personne

  • Note officielle de TMW

Une note technique a été écrite à ce sujet:
Why does the Callback function of a uicontrol object still exist after deleting the object in GUIDE using MATLAB 7.0.4 (R14SP2)?

Bon en gros la réponse c’est:

To work around this issue, you can delete the Callback functions manually.

La suite c’est :

The Callback code is not deleted automatically so that it may be reused for other uicontrols. For example, suppose I have a huge code for a callback function that is called when a PushButton is pressed. Now, suppose I wish to replace the Pushbutton with a checkbox, but have the same implementation of the callback. In such cases, I can assign the callback function to the new uicontrol. Automatically deleting Callback functions could cause valuable code to be deleted.

Lorsque je lis donc ce dernier paragraphe ,là pour le coup je comprends mieux pour quoi en effet ce n’est pas supprimé dans le .m … ça a du sens finalement.

MATLAB Coder

Avec MATLAB Coder , vous pouvez en un clic générer (entre autres) des MEX-files à partir de vos codes MATLAB. Oui oui , fini la galère d’écrire des passerelles entre MATLAB et le C via les MEX-files. Donc déjà plus de temps perdu à traduire son code. Mais surtout on peut de suite checker si mexer son code MATLAB va permettre de gagner du temps de calcul. Oui l’accélération possible est un des gros avantages de ce produit

Combien de fois on a entendu la question : est ce que si j’écrivais ce bout de code en C mon programme n’irait-il pas plus vite? Et la réponse était : just try !
Bon là si t’étais pas un bon programmateur en C autant dire que la tâche n’était pas plug and play!

Donc maintenant avec MATLAB Coder tu peux direct comparer le temps d’exécution entre le MATLAB pur et le code équivalent traduit en MEX-file.

Prerelease R2011b

prerelease r2011b

Pour voir les releases notes de la Prerelease R2011b:

http://www.mathworks.com/help/pdf_doc/matlab/relnotes_pr.pdf?s_v1=26873302_1-7WRKS2

Voilà un extrait de ce qu’on peut lire sur les Release Notes de ce MATLAB 7.13 :

Development Environment
• Startup Accelerator for faster MATLAB startup on Windows, especially on
Windows XP, and for network installations
• Spreadsheet Import Tool that provides more options for selecting and
loading mixed textual and numeric data
• Readability and navigation improvements to warning and error messages
in the MATLAB command window
• Automatic variable and function renaming in the MATLAB Editor
Performance and Large Data Set Handling
• Increased performance in the MATLAB class system, especially for complex
data structures
• matfile function to load or save portions of an array in a MAT-file

MATLAB Compiler 4.16
• Faster installation of MATLAB Compiler Runtime (MCR)

Ça donne l’eau à la bouche tout ça

fseek and byte

Introduit en 2009b et toujours présent en R2011a , il s’agit du mot byte qui est mal écrit (btye):

fseek

En fait l’exemple pour fseek a changé entre la R2009a et la R2009b.

En R2009a voici l’exemple:

Examples

This example opens the file test1.dat, seeks to the 20th byte, reads fifty 32-bit unsigned integers into variable A, and closes the file. It then opens a second file, test2.dat, seeks to the end-of-file position, appends the data in A to the end of this file, and closes the file.

fid = fopen(‘test1.dat’, ‘r’);
fseek(fid, 19, ‘bof’);
A = fread(fid, 50, ‘uint32′);
fclose(fid);

fid = fopen(‘test2.dat’, ‘r+’);
fseek(fid, 0, ‘eof’);
fwrite(fid, A, ‘uint32′);
fclose(fid);

J’ai remonté cette erreur de documentation mardi 3 mai 2011 au support technique de TMW.

MATLAB Buzz

et beh ça a pété mes scores le 25 avril sur Google Analytics suite à un post sur Facebook de la part du site officiel de MATLAB : https://www.facebook.com/MATLAB/posts/181481298568224

72 personnes ont indiqué qu’ils ont kiffé cette joke et ça m’a ramené plus de 700 personnes le même jour sur ce blog!!!

Le record à battre est de 45

La page support a changé

support matlab

Il était temps , ça faisait des années que cette page n’avait pas été mise à jour.
La page est beaucoup plus claire à tout point de vue!!

maintenant il y a même un lien direct vers la béta MathWorks Documentation Center .

Le Documentation Center j’en parlais le 12 novembre 2010 dans ce même chapitre que j’ai appelé Relooking Intégral : http://blog.developpez.com/matlab4geek/c2714/matlab-documentation/relooking-integral/

Colorbar en standalone R2011a toujours buggué

Cette fois seulement 4 options (contre 7 en R2010b) sont laissées en mode déployé dans le menu contextuel:

colorbar R2011a

Note: Le fait qu’il n’y ait que « File » dans le Menu montre bien que cette figure est en mode déployée.

Bon beh là si je retente l’option « Interactive Colormap Shift » et beh ça plante toujours !!!

dos error matlab colorbar

J’avais déjà remonté ce bug au support TMW mais tout n’a pas été pris en compte !!
Ils ont bien enlevé l’option Show Property Editor, , Open Colormap Editor et la plus hallucinante Show Code . D’ailleurs heureusement que cette dernière option n’a jamais marché en mode déployé quand on sait qu’on débourse 5000 euros pour acheter le MATLAB Compiler pour entre autres protéger intellectuellement son code!!

allez misons sur un fix de colorbar dans la R2011b !