Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Ordina grafo matlab

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

0
voti

[1] Ordina grafo matlab

Messaggioda Foto UtenteEcorMind » 19 lug 2014, 18:14

salve. ho un problema su cui sono fermo da giorni e non so come risolvo. chiedo aiuto a voi e ve ne ringrazio anticipatamente.

premetto che sono un programmatore novello e sto scrivendo la mia tesi per ottimizzare il calcolo di fognature partendo da una schematizzazione di bacini e/o collettori partendo da grafi.

finora sono riuscito ad assegnare soltanto l'ultimo nodo di tutto il grafo, ma non so e non riesco ad assegnare gli altri valori a cascata. :evil:

vi riporto finora quel che ho scritto e che funziona per l'ordinamento del grafo
Codice: Seleziona tutto
% % soluzione da trovare o similare
% % N_i = [ 7 6 5 10 1 2 3 8 4 ]
% % N_f = [ 5 5 3 1 3 3 4 4 9]

clear all
q_p = fliplr( [ 5, 6, 10, 22, 33, 55, 44, 66, 77 ] )% inversione del vettore in ingresso
N_i = fliplr( [ 8, 1, 2, 5, 4, 3, 6, 7,10 ] )
N_f = fliplr( [ 4, 3, 3, 3, 9, 4, 5, 5, 1 ] )
n_i = zeros(1, length(N_i)); % creazione di un vettore di zeri per assegnazione valori
n_f = zeros(1, length(N_f));
cont_1 = zeros(1, length(N_i));
cont_2 = zeros(1, length(N_f));
%

for a = 1 : length(N_f)
    for b = 1 : length(N_i)
        % ricerca ed assegnazione nodo finale di tutto il grafo
        % ricerca
        % occorre il contatore per escludere il valore del nodo
        % finale, poiché se si fa la ricerca su esso non si ha
        % soluzione soprattutto utilizzando le diseguaglianza
        if N_f(a) == N_i(b) && a ~= b % se verificato restituisce cont_1(b)>0 se è prensente in n_i, 0 se  nodo finale di tutto il grafo trovato (assenza elemento in N_i)
            cont_1(a) = cont_1(a) + 1
        end
        % assegnazione
        for c = 1 : length(cont_1)
            if cont_1(c) == 0 % ricontrollo di 0 in cont_1 (elemento finale di tutto il grafo) ed assegnazione nell'ultima posizione dei vettori
                n_i(1) = N_i(c);
                n_f(1) = N_f(c);
                q(1) = q_p(c);
            end
        end
    end
end


grazie di nuovo a tutti per la vostra attenzione
qualcosa che ho realizzato e su ciò che mi incuriosisce ( lavori in corso quando riesco):http://tuttofareprofanoenon.blogspot.it/

se vi va di farvi quattro risate:https://www.youtube.com/watch?v=_Q8lePUuvVc
Avatar utente
Foto UtenteEcorMind
0 1 2
 
Messaggi: 24
Iscritto il: 21 apr 2014, 13:06
Località: mondo

0
voti

[2] Re: Ordina grafo matlab

Messaggioda Foto Utentedimaios » 22 lug 2014, 13:42

Magari potrebbe esserti utile questo. ;-)
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

0
voti

[3] Re: Ordina grafo matlab

Messaggioda Foto UtenteEcorMind » 22 lug 2014, 17:47

grazie, avevo già visto quella roba, ma non mi occorre, perché è più improntata all'algebra ed allo studio di grafi
qualcosa che ho realizzato e su ciò che mi incuriosisce ( lavori in corso quando riesco):http://tuttofareprofanoenon.blogspot.it/

se vi va di farvi quattro risate:https://www.youtube.com/watch?v=_Q8lePUuvVc
Avatar utente
Foto UtenteEcorMind
0 1 2
 
Messaggi: 24
Iscritto il: 21 apr 2014, 13:06
Località: mondo


Torna a Programmi applicativi: simulatori, CAD ed altro

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti