Matlab

angelorive
Salve a tutti,
Ho un problemas:
Un programma scritto con matlab analizza un immaggini e di questa mi da il profilo fatto sulle concentrazioni medie a una certa distanza dall'asse x in direzione verticale.(sono in unsistema bidimensionale)
vorrei ruotare il profilo in modo orizzontale, parallelo all'asse x..come posso fare!?
grazie
.ho provato a invertire gli assi, ruotare la matrice di 90 gradi ma niente..

Risposte
apatriarca
Non sono sicuro di aver capito, ma supponendo che h sia l'altezza, stai chiedendo forse qualcosa come il seguente?
A = A(:, h:-1:1);

angelorive
ti dico subito che non sono molto pratico di matlab ..

il codce che hai postato c'è nel nostro programma ed è scritto in questo modo:

xad = (((1:(Npc))-x_origine)/scalax)/H;
yad = ((Npr:-1:1)/scalay)/H;

da quel che ho capito
H è la grandezza che mi serve per adimensionalizzare il sistema, xad ,yad dovrebbero essere gli assi adimensionalizzati ,((Npr:-1:1) da quel che ho capito dovrebbe essere :
prendo Npr elementi e a passi di -1 li faccio arrivare a 1..e costruisco la mia ordinata..
fesserie!?

x_profilo = x_origine - round((L+0.5*H)*scalax);
plot((x_profilo-x_origine)/scalax/H*ones(size(yad)),yad,'-y');
profilo = mat_conc(:,x_profilo);

queste istruzioni dovrebbero visualizzarmi il profilo di concentrazione ad una distanza L+0.5 dall'origine, in direzione parallela all'asse y,
io vorrei la concentrazone parallelo alle x a una distanza L dall'origine..
Spero di essere stato chiaro

apatriarca
Potresti spiegare meglio cosa stai cercando di fare?

vorrei ruotare il profilo in modo orizzontale, parallelo all'asse x..come posso fare!?


La rotazione in un piano non può essere intorno ad un asse, per cui non mi è chiaro l'esatto significato della tua richiesta.

angelorive
mi son spiegato male...
ll programma così come mi è stato dato calcola la contrazione di un inquinante lungo una sezione parallela all'asse y (1),
io dovrei calcolare la concentrazione su una sezione parallela all'asse x fatta ad una quota y (2)...



la mia sezione è questa prallela all'asse y: http:1) http://kazur.altervista.org/articoli/ma ... llelay.jpg

io vorrei calcolare il profilo in (w)..2) http://www.studiamo.it/studiamo-file/im ... lez8-1.png

apatriarca
Vuoi insomma fare una trasformazione dell'immagine in modo che la funzione di matlab che utilizzi ti restituisca il valore corretto? Se così fosse, dovrebbe essere sufficiente fare una trasposta. La trasposta di una matrice scambia le righe con le colonne. In matlab A' (o A.' se la matrice ha valori nei numeri complessi e non vuoi calcolare la trasposta coniugata) è la trasposta di A.

angelorive
il valore corretto!? sarebbero i valori paralleli all'asse x!!..si ..
ora provo.....speriamo di prendere la matrice giusta..!
grazie..

ivix2
Salve a tutti, ho il problema identico a quello presentato da angelorive, qualcuno sa dirmi in che modo posso modificare le righe di comando?

ema901
"ivix":
Salve a tutti, ho il problema identico a quello presentato da angelorive, qualcuno sa dirmi in che modo posso modificare le righe di comando?


Se A è la tua matrice allora A' è la sua trasposta

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.