Codice Matlab in appendice

  • Creatore
    Topic
  • #98656
    Up
    0
    Down
    ::


    Ciao a tutti, scusate ma avrei bisogno urgente di un aiuto per inserire più codici matlab in appendice nella mia tesi che dovrei consegnare domani.
    Ho trovato ed usato il pacchetto

    `\usepackage{listings}

    \begin{lstlisting}%
    [frame=lines]
    load X_ber2.mat X %Matrix X
    load aR0_1.mat a0 %Initial guess a0
    A=[-1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0; -1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
    0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
    0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0;
    0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0;
    0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0;
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0;
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1;
    ];
    b=[-100;-100;-100;-100;-100;-100;-100;-100;-100;-100;0;0;0;0;0;0;0;0;0;0;0];
    opts = optimset('Algorithm','interior-point','Display','off');
    a = fmincon(@objfun0,a0, A, b ,[],[],[],[],@fminconstr0,opts)
    \end{lstlisting}`

    ma il risultato è di dimensione troppo grande, ovviamente esce dal margine della pagina. C’è un modo rapido (so che mi consiglierete la guida, ed ho già dato uno sguardo, ma davvero ho urgenza di consegnare domani) per ridurre il carattere solo del codice matlab e magari usare gli stessi colori di matlab ?(questo non è indispensabile, mi basterebbe sapere come sistemare il codice in modo decente). Grazie mille!

Visualizzazione 3 filoni di risposte
  • Autore
    Risposte
    • #98657
      Up
      0
      Down
      ::


      Ho utilizzato queste opzioni

      \usepackage{listings}
      \lstset{language=Matlab,%
      basicstyle=\scriptsize\ttfamily,
      numbers=left,
      numberstyle=\tiny,
      stepnumber=2,
      frame=lines
      }

      ed ora va meglio, ma cmq la matrice essendo molto grande e va oltre la linea del frame. Secondo voi è un problema? Posso per caso aggiungere qualche altra opzioni per i colori del codice?

    • #98658
      Up
      0
      Down
      ::


      Se il problema è la matrice non fai prima ad inserirla per righe?
      Aumenti la leggibilità e risolvi il problema della larghezza

      `
      A=[-1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0;
      -1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
      0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
      0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
      0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
      0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
      0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
      0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0;
      0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0;
      0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0;
      0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0;
      0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0;
      0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0;
      0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0;
      0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0;
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0;
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0;
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0;
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0;
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0;
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1;
      ];`

      PS. l’indentazione corretta falla con lo smartindent di matlab così la fa lui da solo

    • #98659
      Up
      0
      Down
      ::


      Si alla fine mi è convenuto far così.
      Grazie 🙂

    • #98660
      Up
      0
      Down
      ::


      Ah mi ero dimenticato…
      se vuoi al posto di listings c’è il pacchetto matlab-prettifier (se hai una distribuzione latex completa e aggiornata ce l’hai sicuramente).
      Non è molto diverso da listings (se ho ben capito si basa fortemente su questo pacchetto) ma hai il vantaggio che ti setta da solo uno stile che ricorda quello di matlab (al livello di colori e simili).

      Personalmente non l’ho mai usato che quando mi serviva non lo conoscevo ed ho utilizzato listings. Quando l’ho conosciuto non mi è più servito e quindi non l’ho mai nemmeno provato.

      Al livello di resa non dovrebbe essere diverso da listings solo che hai uno stile già predefinito invece di dover giocare con le opzioni di listings per crearne uno.

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

Go to top