ホームページ  >  記事  >  コンピューターのチュートリアル  >  MATLAB でスコープのタイムライン設定を調整する方法

MATLAB でスコープのタイムライン設定を調整する方法

王林
王林転載
2024-01-20 08:24:051683ブラウズ

MATLAB でスコープのタイムライン設定を調整する方法

MATLAB でスコープのタイムラインを設定する方法

タイムラインの設定

ts=datenum('1999-01-01 00:00:00'); % 開始時刻

tf=datenum('1999-01-01 00:20:00'); % 終了時刻

y=rand(21,1);% は y の値を与えます。私はそれをランダムに与えました

t=linspace(ts,tf,21);% 21分が合計時間です

plot(t,y);% datetick 関数を呼び出して時間座標を直接生成します

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

Matlab を使用すると簡単に時系列を描画できますが、タイムラインの設定、特に二次スケールやラベルの位置の設定が難しい場合があります。したがって、GMT を使用して時系列をプロットすると、第 2 月次ラベルのプロットがより便利になります。

セクション 1: 時系列

時系列を描画し、手動で座標スケールを調整し、1 年を主目盛 (主目盛)、1 か月を副目盛 (副目盛) にして、Y 座標グリッドを描画します。

具体的な手順は次のとおりです:

1. まずルールデータを用意します。データ形式が MATLAB で処理および保存された行列形式の場合、MATLAB を使用して時系列を抽出し、ASCII 形式のデータとして保存する必要があります。なお、この時点のデータには時刻情報は含まれておらず、単なるデータ列ですので、後ほど時刻情報を追加します。

2. 時刻列 [h2]

を sigma0 データに追加します

このメソッドは固定されていません。自分でプログラムすることも、既存の簡単なプログラムを使用することもできます。時刻データの形式は固定であることに注意してください。

データが少ない場合は、Windows 付属の Excel を使用して追加できます。

この例の最終的なデータ形式は次のとおりです。1列目は時間、2列目から4列目はsigma0、

の属性値です。

(時間,sigma0Ku,sigma0C,sigma0C-Ku)。

3. GMT 図面

sigma0 データの 3 列を 1 つのグラフに配置します。つまり、3 つの時系列を同時に描画し、同じ座標系を使用します。横軸は年月で、具体的な設定は、年が大スケール、月が小スケール、制限は1993.1.1~2004.12.1となります。垂直座標は sigma0 の値であり、範囲は既知であるとみなされ、0 ~ 15 に設定できます。

GMT クックブックの手順 21 を参照してください:

GMT の時刻形式は、データの時刻形式に従って設定する必要があります。これは、グレゴリオ暦、ISO などを含む GMT のヘルプ ファイルにあります。また、入力時刻形式と出力時刻形式も区別します。

例 21 で使用されている標準時間 dd-o-yy を選択します。 (GMT には詳細な時刻設定パラメータがあるため、この手順を間違えないように注意してください。)

注: データ ファイル内の時系列の日付座標は、マークされた日付座標とは異なる形式であってもかまいませんが、時間的に一貫している必要があります。

MATLAB プログラミングについて Plot を使用して char 型の時間形式のグラフを作成する方法

一目でコピーだと分かります

symbian で jpg または png 画像を使用したい場合は、symbian が提供する Multimedia ICL ライブラリのクラスを使用する必要があります。より重要なものは CImageDecoder クラスで、画像をデコードする機能を提供します。

使い方を見てみましょう。最初に 2 つの文字列を定義します:

_LIT(KJPEGファイル,"C:\\Data\\me.jpg");

_LIT(KJPEGType,"画像/jpeg");

使用されるコードは、以下に示すように比較的単純です:

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

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

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

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

iDec は CImageDecoder のインスタンスであり、iRFs は RF のインスタンスです。そして、iParent->iBkImageMask は CFbsBitmap オブジェクトのインスタンスです。

言い換えると、最初に CImageDecorder::FileNewL を使用して画像ファイルを開きます (画像タイプはそれ自体で決定され、指定した画像タイプを提供することもできます)。次に、この画像の情報が iDec->FrameInfo() に保存され、この情報を使用して CFbsBitmap インスタンスを作成できます (Symbian で表示される画像はすべてこのタイプであるため)。最後に、CImageDecorder の非同期関数 Convert を呼び出すことで、画像 (jpeg または png 形式) を CFbsBitmap ビットマップに変換できます。唯一の問題は、Convert が非同期関数であり、最初のパラメーターの型が TRequestStatus (アクティブ オブジェクトの iStatus メンバーである可能性がある) であることです。

CImageDecorder::FileNewL に加えて、CImageDecorder:;DataNewL もあります。これは、2 番目のパラメーターが TDesC8& タイプの aSourceData である点を除き、バッファーのバイト内容から画像データを構築するためにも使用できます。

[補充]

ヘッダー ファイル ImageConversion.h とインポート ライブラリ imageconversion.lib を忘れずにインクルードしてください。

MATLAB で関数 datetick を使用するときに横軸を変更する方法

追加のパラメータを使用して、元の座標軸の範囲を指定できます:

datetick('x','yyyy-mm-dd','keeplimits') 座標軸の目盛りに満足できない場合は、元の目盛りを維持できます:

datetick('x','yyyy-mm-dd','keeticks') ただし、元の Tick が日付形式に適していない可能性があるため、datetick を呼び出す前に、適切と思われる Tick を設定することを検討できます。例えば ​​:###

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

formatIn = 'mm/dd/yyyy';

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

datetick('x','yyyy-mm-dd','keeticks') ただし、これは少々面倒なので、TickLabel を直接設定する方がよいでしょう。

以上がMATLAB でスコープのタイムライン設定を調整する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はdocexcel.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。