Compilare Koffice

Nel pieno della compilazione

Pochi giorni fa è uscita la versione 2.2 di Koffice. Mi ha sempre entusiasmato, e quindi deluso, questa suite che si propone come alternativa a… A che cosa? A Office o a OpenOffice.org? Forse a entrambe.

Devo dire che, quanto a originalità, questo progetto non ha mai peccato, sia come interfaccia grafica che come funzionalità. Ma a dire la verità non sono mai riuscito a sentirmi a mio agio dentro la finestra di questi programmi. Spero che prima o poi riuscirò a vincere questa situazione, perché, per quelle poche volte che ho bisogno di uno strumento d’ufficio, vorrei avere dei programmi ben integrati e soprattutto un po’ più reattivi di OpenOffice, che a volte mi fa proprio imbestialire.

Mentre mi si sta compilando, ne parlo un po’ qui, tanto per passare il tempo. Read more of this post

Advertisements

Matlab: pubblicare funzioni

La finestra dell'editor

Abbiamo appena finito di scrivere la nostra funzione che, dati n parametri in input, calcola qualcosa, magari fa qualche grafico e dà m valori in output. Vogliamo ora pubblicare questo file in maniera almeno un po’ professionale, in modo che il codice sia leggibile, i risultati per un dato input chiari e i grafici visibili.

Matlab ci mette a disposizione alcuni strumenti semplici e utili. Dall’editor possiamo scegliere il pulsante publish, accanto al tasto per la stampa per pubblicare in formato html il file con la funzione e gli eventuali risultati.

Se la nostra funzione prende in input alcuni argomenti e non esistono clausole interne per standardizzare gli argomenti non dati, o semplicemente vogliamo che la funzione venga richiamata in un determinato modo, possiamo variare il modo in cui viene richiamata tramite il pulsante Edit Publish Configurations, presente nel menu che si apre selezionando il pulsante citato. Nella finestra che si apre possiamo impostare vari tipi di pubblicazione, diversi output, varie configurazioni di lancio, la directory in cui salvare i file e via dicendo.

Tra li altri possono essere scelti i formati html, pdf e latex; si può scegliere in che formato esportare le immagini, in che modo catturarle, se includere tutto il codice e se evidenziare anche gli eventuali errori. Tutto ciò nella sezione inferiore. Nella sezione superiore, invece si può inserire il codice di lancio della funzione o del file. Nel mio caso, per esempio, carico un file contenente alcune variabili e richiamo la funzione dando alcune di queste variabili in input, richiedendo invece l’output nelle tre variabili ab e c.

La finestra di configurazione

Le configurazioni elencate a sinistra (nel mio una sola) possono essere di pubblicazione (come questa) o di lancio, per la quale ovviamente tutte le opzioni riguardanti la pubblicazione non vengono date. Configurazioni di lancio sono usate quando l’utente richiede il lancio di un file senza richiamare direttamente la funzione da una finestra di comando. Anche queste possono rivelarsi molto utili quando si vuole che l’utente possa eseguire la funzione piuttosto che dargli un rapporto già fatto dei risultati.

Plot tridimensionali con Matlab (o Octave)

Un (brutto) grafico tridimensionale

Mi riferisco alla funzione mesh. E non voglio in alcun modo essere esaustivo; per una documentazione esaustiva, quella di Matlab lo è di sicuro.

Ammettiamo di voler fare il grafico della funzione z = x^2 \cdot \sqrt{y} .  La prima cosa da fare è generare la griglia. Come nel plot bidimensionale, in cui la griglia è unidimensionale ed è quindi un semplice vettore contenete le componenti delle ascisse in cui il grafico viene mostrato, nel caso tridimensionale avremo non un solo vettore, ma due matrici: ogni componente di ciascuna matrice rappresenta un punto del piano di base (piano xy) in cui il grafico viene calcolato e la prima matrice rappresenta il valore della x in quel punto, mentre la seconda rappresenta il valore della y. Si veda pertanto il seguente esempio per comprendere il significato di questa coppia di matrici.

\\  X = \left( \begin{array}{cc}  1 & 2  \\  1 & 2  \end{array} \right) \\  \hspace{2cm} \\  Y = \left( \begin{array}{cc}  4 & 4  \\  5 & 5  \end{array} \right)  

Con queste matrici si ottiene una griglia che contiene i seguenti punti:

  • (1, 4): primo elemento della prima riga di ogni matrice
  • (2, 4): secondo elemento della prima riga
  • (1, 5): primo elemento della seconda riga
  • (2, 5): secondo elemento della seconda riga

Fatto ciò, si deve solo definire una matrice Z, della stessa dimensione delle matrici X e Y, che contenga i valori della funzione nei punti definiti tramite X e Y. Nel nostro esempio, il la matrice Z dovrà contenere:

  • 2 nel primo elemento della prima riga (x = 1,~ y = 4,~ z = x^2 \cdot \sqrt{y} = 2 )
  • 8 nel secondo elemento della prima riga
  • \sqrt{5} nel primo elemento della seconda riga
  • 4 \sqrt{5} nel secondo elemento della seconda riga

Ora basterà richiamare la funzione mesh di Matlab per avere un meraviglioso grafico della nostra funzione. Per la precisione, la funzione va richiamata così: mesh(X, Y, Z), dove X, Y, Z sono le tre matrici che abbiamo definito.

Ora, per fare un grafico, ovviamente, sono necessari più di quattro punti per la griglia. La funzione meshgrid può venirci in aiuto: dati i vettori di x e di y (nel nostro caso i vettori erano (1, 2) per x e (4, 5) per y), la funzione meshgrid(x, y) restituisce le due matrici X e Y che costruiscono la griglia. Si veda il seguente esempio:

x = -4:0.1:4;
y = 0:0.1:5;
[X, Y] = meshgrid(x, y);
Z = X.^2 .* sqrt(Y);
mesh(X, Y, Z);

Ovviamente il grafico deve ancora essere corredato di un titolo (funzione title), di etichette per gli assi (funzioni xlabel, ylabel e zlabel) ed eventualmente di altri accorgimenti. L’importante è notare la semplicità di usare funzioni e operatori component-wise per generare la matrice Z: in una sola e semplice riga di codice si ottengono tutti i (molti) valori necessari.

Geometria interattiva con Kig

Uno strumento di kdeedu che mi sembra davvero ottimo per lo studio della geometria è Kig. Questo programma offre un’enorme varietà di strumenti per la costruzione di lavori di geometria planare e può risultare utile non solo a studenti delle scuole medie o medie superiori, ma anche a utenti più esperti.

Le entità geometriche con cui si può lavorare variano dai semplici oggetti che tutti conoscono (rette, semirette, segmenti, vettori, circonferenze, ellissi, parabole, coniche in generale, poligoni,…) fino a trasformazioni che non sono proprio alla portata di tutti (dalle semplici traslazioni o rotazioni fino a trasformazioni proiettive).

Naturalmente, il punto di partenza di tutto è il punto, che può essere piazzato sul foglio di lavoro con il mouse oppure dandone le coordinate cartesiane esatte.

Costruzione della circonferenza

Read more of this post

Transmission con le Qt

Le due interfacce di Transmission - Web e Qt

Le due interfacce di Transmission - Web e Qt

Transmission, programma per scaricare i files torrent di cui ho già parlato, sta sviluppando anche un’interfaccia grafica con le librerie Qt, mentre l’interfaccia principale, la più comune, usa le librerie GTK. La versione con le Qt è ancora un po’ sperimentale, un po’ più “vuota”, ma comunque funzionante a dovere. Read more of this post

Amarok: finalmente mi ricorda Amarok

Amarok3 Il nuovo (anche se ormai ha tre settimane) Amarok 2.2 Sunjammer mi sembra ormai essere tornato agli splendori della prima, mitica, versione di questo magnifico player.  E non tanto perché io voglia un player perfetto, con chissà quali esigenze musicali, acustiche,…  ma perché finalmente ha ritrovato quella comodità nell’interfaccia che le versioni 2.x avevano perso.  Sì, sto parlando di quella orrenda, inutile (di solito) zona centrale della finestra che contiene informazioni,  voci di Wikipedia, cosacce simili… Per carità, carine, simpatiche, utili. Ogni tanto. Quando voglio solo selezionare la mia playlist come voglio io (cosa che adoro di questo programma), è solo scomoda, quella zona con i widget. Read more of this post

Phun!

Quello che è partito come lavoro universitario (credo di master in informatica) di uno studente svedese e che ha continuato ad essere sviluppato è ora diventato un programma professionale, concesso in licenza ed ha anche cambiato nome: Algodoo. La licenza costa 29€.

Phun, antenato di questo programma, è ancora gratuito e scaricabile gratuitamente, e permette una quantità di operazioni che non sembra aver bisogno di estensione per utenti occasionali, anche interessati alle simulazioni fisiche di un certo livello. Tali simulazioni con un software come Phun sono semplici e divertenti da realizzare. Read more of this post