Maison  >  Article  >  tutoriels informatiques  >  Comment ajuster les paramètres de chronologie de la portée dans MATLAB

Comment ajuster les paramètres de chronologie de la portée dans MATLAB

王林
王林avant
2024-01-20 08:24:051683parcourir

Comment ajuster les paramètres de chronologie de la portée dans MATLAB

Comment définir la chronologie de la portée dans matlab

Définir la chronologie

ts=datenum('1999-01-01 00:00:00'); % heure de début

tf=datenum('1999-01-01 00:20:00'); % heure de fin

y=rand(21,1);% donne votre valeur y, je l'ai donnée au hasard ici

t=linspace(ts,tf,21);% 21min est la durée totale

plot(t,y);% Appelez la fonction datetick pour générer directement des coordonnées temporelles

datetick('x','HH:MM','keepticks')

Matlab peut être utilisé pour dessiner facilement des séries chronologiques, mais définir la chronologie peut être un peu difficile, en particulier le réglage des échelles secondaires et des positions des étiquettes. Par conséquent, le traçage de la série chronologique à l’aide de GMT rend le traçage des étiquettes mensuelles secondaires plus pratique.

Section 1 : Séries chronologiques

Dessinez la série chronologique, ajustez manuellement l'échelle de coordonnées, une année est un tick principal (tics principaux), un mois est un tick mineur (tics mineurs) et dessinez la grille de coordonnées Y.

Les étapes spécifiques sont les suivantes :

1. Tout d’abord, préparez les données de la règle. Si le format des données est le format matriciel traité et stocké par MATLAB, vous devez extraire la série chronologique à l'aide de MATLAB et l'enregistrer au format ASCII. Notez que les données à l'heure actuelle ne contiennent pas d'informations temporelles, il s'agit simplement d'une simple colonne de données. Nous ajouterons des informations temporelles plus tard.

2. Ajoutez la colonne de temps [h2] aux données sigma0

Cette méthode n'est pas figée. Vous pouvez la programmer vous-même ou utiliser un programme simple existant. Notez que le format des données temporelles est fixe.

S'il n'y a pas beaucoup de données, vous pouvez les ajouter à l'aide d'Excel fourni avec Windows.

Le format de données final de cet exemple est le suivant : la première colonne est l'heure, la deuxième à la quatrième colonne sont les valeurs d'attribut de sigma0,

(heure, sigma0Ku, sigma0C, sigma0C-Ku).

3. Dessin GMT

Placez trois colonnes de données sigma0 sur un graphique, c'est-à-dire dessinez trois séries chronologiques en même temps et utilisez le même système de coordonnées. L'abscisse représente l'année et le mois, et les paramètres spécifiques sont : l'année est la grande échelle, le mois est la petite échelle et la limite est fixée à 1993.1.1-2004.12.1. La coordonnée verticale est la valeur de sigma0. La plage peut être connue et définie sur 0-15.

Reportez-vous à la procédure 21 dans le livre de recettes GMT :

Le format de l'heure en GMT doit être défini en fonction du format de l'heure des données. Il peut être trouvé dans le fichier d'aide de GMT, notamment grégorien, ISO, etc. Faites également la distinction entre le format de l'heure d'entrée et le format de l'heure de sortie.

Sélectionnez l'étalon horaire jj-o-aa utilisé dans l'exemple 21. (GMT a des paramètres de réglage de l'heure détaillés, alors veillez à ne pas commettre d'erreurs dans cette étape.)

Remarque : Les coordonnées de date de la série chronologique dans le fichier de données peuvent être dans un format différent des coordonnées de date marquées, mais elles doivent être cohérentes dans le temps.

À propos de la programmation Matlab, comment utiliser Plot pour créer des graphiques avec un format temporel de type char

Vous pouvez dire qu'il s'agit d'une copie en un coup d'œil

Si vous souhaitez utiliser des images jpg ou png dans Symbian, vous devez utiliser la classe de la bibliothèque Multimedia ICL fournie par Symbian. La plus importante est la classe CImageDecoder, qui assure la fonction de décodage des images.

Voyons comment l'utiliser. Définissez d'abord deux chaînes :

_LIT(KJPEGFichier,"C:\Data\me.jpg");

_LIT(KJPEGType,"image/jpeg");

Le code utilisé est relativement simple, comme indiqué ci-dessous :

iDec = CImageDecoder :: FileNewL (iRFs, KJPEGFile);

iParent->iBkImageMask=new (ELeave) CFbsBitmap();

iParent->iBkImageMask->Create( iDec-> FrameInfo().iOverallSizeInPixels,iDec-> FrameInfo().iFrameDisplayMode );

iDec->Convertir( &iStatus, *(iParent->iBkImageMask) );

où iDec est une instance de CImageDecoder et iRFs est une instance de RF. Et iParent->iBkImageMask est une instance d'objet CFbsBitmap.

En d'autres termes, nous utilisons d'abord CImageDecorder::FileNewL pour ouvrir un fichier image (il déterminera lui-même le type d'image, et nous pouvons également lui fournir le type d'image que nous spécifions). Ensuite, les informations de cette image sont enregistrées dans iDec->FrameInfo(). Ces informations peuvent être utilisées pour créer une instance CFbsBitmap (car toutes les images affichées dans Symbian sont de ce type). Enfin, l'image (au format jpeg ou png) peut être convertie en bitmap CFbsBitmap en appelant la fonction asynchrone Convert de CImageDecorder. Le seul problème est que Convert est une fonction asynchrone et que le premier paramètre est de type TRequestStatus (qui peut être le membre iStatus d'un objet actif).

En plus de CImageDecorder::FileNewL, il existe également CImageDecorder:;DataNewL, qui peut également être utilisé pour construire des données d'image à partir du contenu en octets d'un tampon, mais son deuxième paramètre est aSourceData de type TDesC8&.

[Supplément]

N'oubliez pas d'inclure le fichier d'en-tête ImageConversion.h et la bibliothèque d'importation imageconversion.lib.

Comment changer l'axe des abscisses lors de l'utilisation de la fonction datetick dans matlab

Vous pouvez utiliser des paramètres supplémentaires pour spécifier la plage d'axe de coordonnées d'origine :

datetick('x','yyyy-mm-dd','keeplimits') Si la coche de l'axe des coordonnées n'est pas satisfaisante, vous pouvez conserver la coche d'origine :

datetick('x','yyyy-mm-dd','keepticks') Mais le Tick d'origine peut ne pas convenir au format de date. Ensuite, vous pouvez envisager de définir le Tick que vous jugez approprié avant d'appeler datetick, par exemple. :

DateString = {'01/06/2014';'01/10/2014';'01/02/2015';'01/06/2015'};

formatIn = 'mm/jj/aaaa';

set(gca,'xtick',datenum(DateString,formatIn))

datetick('x','yyyy-mm-dd','keepticks') Cependant, c'est un peu trop lourd, il est donc préférable de définir directement le TickLabel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer