costruzione di matrici – errore all’inserimento di & e\\

  • Questo topic ha 1 risposta, 2 partecipanti ed è stato aggiornato l'ultima volta 22 anni, 7 mesi fa da ev.
  • Creatore
    Topic
  • #2337
    admin
    Amministratore del forum
      Up
      0
      Down
      ::


      In scritti che si occupano di algebra lineare, in cui è continuamente necessario visualizzare molte matrici di diverso ordine, è estremamente comodo un comando che crei direttamente le matrici, dato il numero di righe e colonne e il simbolo prefisso degli elementi.
      Il seguente codice tenta di costrire le basi di tale macro; il problema è che all’inserimento del carattere di allineamento `&’ o di fine riga `\\’ la compilazione è bloccata da un errore di cui non comprendo la natura.
      Il codice:

      \NeedsTeXFormat{LaTeX2e}
      \documentclass{article}
      \usepackage{amsmath}

      \newcommand{\TAB}{\&} % > due comandi di supporto;
      \newcommand{\ENDROW}{\backslash\backslash}%/ dovrebbero essere `&’ e `\\’

      \newcommand{\MatrStrut}{\newcount\ir\ir=1\newcount\ic\ic=1 % i due contatori delle righe e delle colonne
      \loop{% ciclo iterstivo che costruisce le righe
      \loop{% ciclo annidato delle colonne
      a_{\the\ir\the\ic}}% scrive elemento
      \advance\ic by 1 \ifnum\ic<4\TAB% qui andrebbe il carattere di allineamento `&’
      \repeat
      \ENDROW}% qui andrebbe il comando di fine riga `\\’
      \advance\ir by 1 \ifnum\ir<4\repeat}
      \begin{document} %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%

      Tento di costruire la seconda matrice con un ciclo iterativo:
      \[ \begin{bmatrix}a_{11}&a_{12}&a_{13}\\
      a_{21}&a_{22}&a_{23}\\
      a_{31}&a_{32}&a_{33}\\\end{bmatrix} =
      \begin{bmatrix}\MatrStrut\end{bmatrix} \]

      \end{document} %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%

    Visualizzazione 0 filoni di risposte
    • Autore
      Risposte
      • #2338
        ev
        Partecipante
          Up
          0
          Down
          ::


          Togli le parentesi graffe al “corpo” del \loop: non otterrai il risultato sperato, ma il messaggio d’errore scomparira’.

          Un suggerimento: sposta la creazione dei contatori fuori dal corpo della macro.

      Visualizzazione 0 filoni di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top