Forums for you Fast forums in a simple way
 Registrati
user
password
 


Home->it.discussioni.ingegneria
Rispondi  Torna al forum Notizie

Re: Aiuto Matlab


  • Subject: Re: Aiuto Matlab
  • From: Andrea
  • Data: Wed, 08 Oct 2008 21:16:09 +0200
  • Newsgroups: it.discussioni.ingegneria


leonardo.magistro@gmail.com ha scritto:
> On 8 Ott, 00:09, Andrea <andrea@biomed> wrote:
>> leonardo.magis...@gmail.com ha scritto:
>>
>>
>>
>>> Salve,
>>>   qualcuno mi può aiutare con un problema su Matlab?
>>> Ho disegnato la mappa dell'italia con la funzione
>>> lat_limit = [34 48];
>>> lon_limit = [4.5 20.5];
>>> worldmap(lat_limit, lon_limit);
>>> adesso vorrei disegnarci sopra una spezzata. Ho trovato la funzione
>>> geoshow(lat, lon). Vorrei sapere se qualcuno sa come posso colorare
>>> questa linea in funzione di alcuni valori che stabilisco per ciascun
>>> punto della linea. Mi spiego meglio: se al primo punto assegno un
>>> valore alto la linea deve comincirae col rosso per poi cambiare colore
>>> verso le tinte celesti verso i punti cui assegno valori più bassi (in
>>> accordo alla colormap di default).
>>> E' possibile impostare opportuni parametri alla funzione geoshow?
>>> Oppure occorre utilizzare un'altra funzione?
>>> Grazie.
>> Copio e incollo dalla guida in linea di geoshow
>>
>>      % Display the EGM96 geoid heights.
>>
>>      % Create a figure with an Eckert projection.
>>      figure
>>      axesm eckert4; framem; gridm;
>>      axis off
>>
>>      % Display the geoid as a texture map.
>>      load geoid
>>      h=geoshow(geoid, geoidrefvec, 'DisplayType','texturemap');
>>
>>      % Set the Z data to the geoid height values, rather than a
>>      % surface with zero elevation.
>>      set(h,'ZData',geoid);
>>      light; material(0.6*[ 1 1 1]);
>>
>>      % Create a colorbar and title.
>>      set(gca,'dataaspectratio',[ 1 1 200]);
>>      hcb = colorbar('horiz');
>>      set(get(hcb,'Xlabel'),'String','EGM96 geoid heights in m.')
>>
>>      % Mask out all the land.
>>      geoshow('landareas.shp', 'FaceColor', 'black');
>>      zdatam(handlem('patch'), max(geoid(:)));
>>
>> Quindi quello che ti serve è solo definire i valori di altezza in geoid,
>> mettendo a una costante bassa (o forse anche NaN) tutto ciò che non
>> appartiene alla spezzata. Le ampiezze relative alle coordinate della
>> spezzata saranno i valori reali di ampiezza.
>>
>> Se la colormap in uso non ti va bene, o usi una map diversa (hot, cold,
>> grey, hsv, etc), o usi colormap editor, oppure te la modifichi a mano (è
>> una matrice Nx3 in rgb )
>>
>> Perdonami se c'è qualche imprecisione ma sono al collasso mentale.
>>
>> Saluti, Andrea.
>
> Innanzitutto grazie per l'attenzione e per la risposta!
> Ho, però, qualche difficoltà nell'applicare i consigli che mi dai e
> per questo approfitto ancora della tua gentilezza.
>
> Ti posto parte del codice che ho già scritto:
>
> lat_limit = [34 48];
> lon_limit = [4.5 20.5];
>
> h = worldmap(lat_limit, lon_limit);
> set(1, 'Units', 'normalized', 'Position', [0 0 1 1]);
> hTitle = get(h,'Title');
> h3 = xlabel('Longitude [°]');
> h4 = ylabel('Latitude [°]');
>
> percorso = [45.6306 8.7281  120 ;
>     45.679750  8.690766  533.4;
>     45.718092  8.645112  914.4;
>     45.789492  8.738461  1219.2;
>     45.722862 8.869094  1524;
>     45.496611 8.931896  2500;
>     44.964444 8.970278  4500;
>     44.9644 8.9703  6000;
>     44.4244 9.0821  6000];
>
> upLimit = max(percorso (:,3));
> geoshow(percorso (:,1), percorso (:,2), 'LineWidth',3 );
>
>
> cb = colorbar;
> set(cb,'YLim', [0 upLimit]);
> imagesc(cb, [0 upLimit]);
> cb = colorbar;
> set(cb,'XColor','white','YColor','white');
>
>
> Come potrai vedere questo codice traccia una spezzata di colore nero.
> Io vorrei che i colori sulla spezzata fossero assegnati in accordo ai
> valori di altitudine
>  dei punti indicati nella terza colonna della matrice percorso ed in
> relazione, ovviamente, alla colorbar visualizzata.
>
> Ti ringrazio,
> Leonardo
Quasi risolto, ti rispondo in privato.

Ciao, Andrea.


Subject Mittente Data
Aiuto Matlab# Aiuto Matlab leonar... 07/10/2008
Aiuto MatlabRe: Aiuto Matlab# Re: Aiuto Matlab Andrea 08/10/2008
Aiuto MatlabRe: Aiuto MatlabRe: Aiuto Matlab# Re: Aiuto Matlab leonar... 08/10/2008
Aiuto MatlabRe: Aiuto MatlabRe: Aiuto Matlab\# Re: Aiuto Matlab Andrea 08/10/2008
Aiuto Matlab\# Re: Aiuto Matlab Turkelton 07/10/2008


Torna a...>Re: Aiuto Matlab
Cerca "Re: Aiuto Matlab" con Gooogle SiteSearch
Google
 
Web www.forumsforyou.com







ForumsForYou non è responsabile dei contenuti degli articoli che vengono inseriti dagli utenti via rete Usenet e che quindi vengono pubblicati di conseguenza sul nostro news server. Si vieta l'utilizzo delle email allegate nei vari articoli per l'invio di mail non richieste.

Copyright 2006 Powered by JTechnology s.r.l. All rights reserved.