Documents réalisés avec Matlab
Simulation des lois usuelles avec MATLAB
( fichier )
Éléments d’Optimisation avec MATLAB
( fichier )
Exécution de Matlab à partir de LaTeX
J’ai développé une procédure pour
l’exécution de Matlab à partir de LaTeX.
La commande LaTeX pour faire appel à matlab à partir de LaTeX :
La commande LaTeX pour écrire du code matlab dans le document LaTeX :
\newwrite\SORTIE
\makeatletter
\newenvironment{FichMatlab}[1]{%
\@bsphack
\immediate\openout\SORTIE #1
\let\do\@makeother\dospecials
\catcode`\^^M\active
\def\verbatim@processline{%
\immediate\write\SORTIE{\the\verbatim@line}}%
\verbatim@start}
{\immediate\closeout\SORTIE
\@esphack
}
\makeatother
Exécution du document LaTeX se fait par la commande :
% sous windows
Latex -enable-write18 document.tex
Le code :
%© (2006) http://www.cnam.fr/depts/maths/Membres/ghorbanzadeh/
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[frenchb]{babel}
\usepackage{graphicx}
\usepackage{fancyvrb}
\usepackage{verbatim}
\newwrite\SORTIE
\makeatletter
\newenvironment{FichMatlab}[1]{%
\@bsphack
\immediate\openout\SORTIE #1
\let\do\@makeother\dospecials
\catcode`\^^M\active
\def\verbatim@processline{%
\immediate\write\SORTIE{\the\verbatim@line}}%
\verbatim@start}
{\immediate\closeout\SORTIE
\@esphack
}
\makeatother
\newcommand{\ExecutMatlab}[1]{%
\immediate\write18{MATLAB.exe -r #1} }
\begin{document}
\begin{FichMatlab}{test1.m}
x=linspace(-pi,pi,100);
plot(x,sin(x))
print -depsc2 -tiff figure1.eps
quit
\end{FichMatlab}
\ExecutMatlab{test1}
\noindent L'inclusion de la figure crée par matlab :
\includegraphics[width=7cm,height=7cm]{figure1.eps}
\end{document}
Exécution de LaTeX à partir de Matlab
J’ai développé une procédure pour
l’exécution de LaTeX à partir de Matlab. Les résultats de ces
travaux sont disponibles sur le site :
http://melusine.eu.org/hypermail/syracuse/0001.html
Les fichiers à télécharger sont :
matlab2Latex.m
preambule1.tex
Création des tableaux au format LaTeX à partir de Matlab
Tableau pour les coefficients du Binôme.
%© (2006) http://www.cnam.fr/depts/maths/Membres/ghorbanzadeh/
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[frenchb]{babel}
\usepackage{graphicx}
\usepackage{fancyvrb}
\usepackage{verbatim}
\newwrite\SORTIE
\makeatletter
\newenvironment{FichMatlab}[1]{%
\@bsphack
\immediate\openout\SORTIE #1
\let\do\@makeother\dospecials
\catcode`\^^M\active
\def\verbatim@processline{%
\immediate\write\SORTIE{\the\verbatim@line}}%
\verbatim@start}
{\immediate\closeout\SORTIE
\@esphack
}
\makeatother
% #1 fichier contenant le code matlab
\newcommand{\ExecutMatlab}[1]{%
\immediate\write18{MATLAB.exe -r #1} }
\begin{document}
\begin{FichMatlab}{test1.m}
% calcul du coefficient du Binôme : C_n^p
n=38;
facto=ones(39,1);
facto(1)=1;
for i=2:n,
facto(i)=facto(i-1)*i;
end
Coeff_bino=ones(39,1);
Coeff_bino(1)=1;
Coeff_bino(n+1)=1;
for p=2:n
Coeff_bino(p)=facto(n)/(facto(p-1)*facto(n-p+1));
end
fid = fopen('BinTab.tex','w');
fprintf(fid,'\\begin{tabular}{|c|c||c|c||c|c|}\\hline \n');
fprintf(fid,'$p$ & $C_{38}^p$ & $p$ & $C_{38}^p$ & $p$ & $C_{38}^p$\\\\[.2cm]\\hline \n');
for p=1:13
fprintf(fid,'%2d %c %12.0f %c %2d %c %12.0f %c %2d %c %12.0f\\\\[.2cm]\\hline\n',...
p-1,'&',Coeff_bino(p),'&',p+12,'&',Coeff_bino(p+13),'&',...
p+25,'&',Coeff_bino(p+26));
end
fprintf(fid,'\\end{tabular} \n');
fclose(fid);
quit
\end{FichMatlab}
\ExecutMatlab{test1}
\noindent Le tableau suivant repr\'esente les valeurs de $C_{38}^p$ : \\
\begin{center}
\input{BinTab.tex}
\end{center}
\end{document}
Tableau pour la somme de n premiers entiers.
%© (2006) http://www.cnam.fr/depts/maths/Membres/ghorbanzadeh/
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[frenchb]{babel}
\usepackage{graphicx}
\usepackage{fancyvrb}
\usepackage{verbatim}
\newwrite\SORTIE
\makeatletter
\newenvironment{FichMatlab}[1]{%
\@bsphack
\immediate\openout\SORTIE #1
\let\do\@makeother\dospecials
\catcode`\^^M\active
\def\verbatim@processline{%
\immediate\write\SORTIE{\the\verbatim@line}}%
\verbatim@start}
{\immediate\closeout\SORTIE
\@esphack
}
\makeatother
% #1 fichier contenant le code matlab
\newcommand{\ExecutMatlab}[1]{%
\immediate\write18{MATLAB.exe -r #1} }
\begin{document}
\begin{FichMatlab}{test1.m}
% somme de n premiers entiers
n=39;
s=cumsum([1:1:n]);
fid = fopen('SomTab.tex','w');
fprintf(fid,'\\begin{tabular}{|c|c||c|c||c|c|}\\hline \n');
fprintf(fid,'$p$ & $S_p$ & $p$ & $S_p$ & $p$ & $S_p$\\\\[.2cm]\\hline \n');
for p=1:13
fprintf(fid,'%2d %c %3.0f %c %2d %c %3.0f %c %2d %c %3.0f\\\\[.2cm]\\hline\n',...
p,'&',s(p),'&',p+13,'&',s(p+13),'&',...
p+26,'&',s(p+26));
end
fprintf(fid,'\\end{tabular} \n');
fclose(fid);
quit
\end{FichMatlab}
\ExecutMatlab{test1}
\noindent Le tableau suivant repr\'esente les valeurs de la somme
$\displaystyle{S_p=\sum\limits_{i=1}^{p} i}$ : \\
\begin{center}
\input{SomTab.tex}
\end{center}
\end{document}