Buona sera. Per motivi accademici ho dovuto creare uno script Matlab che illustri graficamente il comportamento di un monopolo. Si tratta di un modello matematico per riprodurre l'effetto di sorgenti acustiche. Come potete vedere dall'immagine allegata, l'aspetto è quello assunto dalle onde in uno stagno.
Nella stessa foto ho allegato anche lo script elaborato. La sequenza dei plot al variare del tempo mi ha consentito di creare un'animazione in cui le onde si propagano correttamente. Pertanto posso affermare che lo script funziona.
Il problema che mi sta facendo ammattire, però, è quello relativo ai colori assunti dal grafico. Come potete vedere dall'immagine annessa, il grafico cambia colore uniformemente al variare del tempo, passando dal gallo al blu, fino al verde. Questo non dovrebbe accadere, considerando che i colori assunti da ogni punto del grafico sono legati all'intensità della pressione locale (per come è posta la formula di
P). I colori dovrebbero variare in base alle onde, propagandosi con esse, e non cambiare in modo uniforme ovunque.
Ho scoperto che se invece di utilizzare il comando
surf utilizzassi il comando
surfl il problema parebbe risolversi autonomamente… ma è solo un illusione dovuta al fatto che con quel comando Matlab "illumina" il grafico con una fonte di luce virtuale.
Devo trovare il modo di poter impiegare il comando
surf senza lo sgradevole cambio di colore al variare del tempo. Ho già provato a chiedere una mano al mio docente, i cui consigli sono stati però inutili:
-Cambiare il valore della costante K;
-Aumentare le dimensioni del grigliato X,Y.
-Impedire allo script di formulare un raggio pari a zero (per evitare eventuali singolarità)
Questi tentativi sono stati tutti vani.
Mi chiedevo se qualcuno avesse un suggerimento, anche perché a questo punto non so più dire se il problema sia nella formulazione dello script oppure nella scelta dei comandi (la differenza sostanziale tra surf e surfl mi ha lasciato stupito, ma purtroppo non posso accettarla come soluzione).
Allegati: