MATLABデータ型:知っておくべきことすべて

公開: 2020-09-16

MATLABは、数値と変数を格納するための多くの方法を提供します。 すべての数値は、実際の数値の実数と同等です。 最大数には上限があり、ゼロ以外の数の絶対値には下限があります。 これは、実数と比較して処理デバイスのメモリが有限であるためです。実数は無限になる可能性があります。

有限空間のため、MATLAB変数は無理数を格納できません。 たとえば、円周率の値は近似値に返されます。 MATLAB変数で表される値のセットは有限です。 MATLABのデータ型は、この制限を処理するのに役立ちます。

すべてのMATLAB変数は、さまざまなクラスがさまざまな特性を持ち、数値、テキスト、または複雑であるかどうかにかかわらず、さまざまなタイプのデータを表すのに適したクラスに属しています。

注意配列内の指定されたすべての要素は同じタイプである必要があります。

MATLABは合計16の基本型を提供し、MATLABのデータ型は次のように定義されます。

  • 定義された値のセット
  • これらの値を実行するために使用できる操作セット

ソース

目次

数値タイプ

数値型には、符号付きおよび符号なし整数、単一の倍精度浮動小数点数が含まれます。 数値変数とその機能を以下に示します。

ダブル倍精度配列
  • MATLABのデフォルトの数値データ型(クラス)
  • 64ビット(8バイト)浮動小数点値として格納されます
  • 範囲-

の数=-1.79769x10308および-2.22507x10-308

正の数= 2.22507x10-308および1.79769x10 308

独身単精度配列
  • 4バイト(32ビット)浮動小数点値として格納されます
  • 範囲-

の数=-1.79769x10308および-2.22507x10-308

正の数=2.22507x10-308および1.79769x10 308

int8 8ビット符号付き整数配列
  • 1バイト(8ビット)の符号付き整数として格納されます
  • 範囲-27〜2 7 -1
int16 16ビット符号付き整数配列
  • 2バイト(16ビット)の符号付き整数として格納されます
  • 範囲-2115〜2 15 -1 _
int32 32ビット符号付き整数配列
  • 4バイト(32ビット)の符号付き整数として格納されます
  • 範囲-231〜231-1です
int64 64ビット符号付き整数配列
  • 8バイト(64ビット)の符号付き整数として格納されます
  • 範囲-263〜263-1です
uint8 8ビットの符号なし整数配列
  • 1バイト(8ビット)の符号なし整数として格納されます
  • 範囲は0〜2 8 -1
uint16 16ビット符号なし整数配列
  • 2バイト(16ビット)の符号なし整数として格納されます
  • 範囲は0〜2 16 -1
uint32 32ビットの符号なし整数配列
  • 4バイト(32ビット)の符号なし整数として格納されます
  • 範囲は0〜2 32 -1
uint64 64ビットの符号なし整数配列
  • 8バイト(64ビット)の符号なし整数として格納されます
  • 範囲は0〜2 64 -1

読む: MATLABのwhileループ:知っておくべきことすべて

論理型

真と偽の値は、論理値0と1で表されます。任意の数値(非複素数)を論理表現に変換できます。

構文:L =論理(x)

上記のステートメントは、xを論理値の任意の配列に変換します。 xの非ゼロ要素は論理値1(true)に変換され、ゼロ値は論理値0(false)に変換されます。

文字と文字列のタイプ

MATLABの文字と文字列配列は、テキストデータのストレージを提供します。 文字のシーケンスは、数値配列と呼ばれる数字のシーケンスと比較した文字配列です。

構文:c='アップグレード'

「upgrad」は、文字列配列を形成する文字のシーケンスです。 これは、テキストが折り返されていることでも確認できます。

セル配列

セル配列は、セルと呼ばれるインデックス付きデータコンテナを含むMATLABデータ型です。 セルには、任意のタイプのデータを含めることができます。通常、さまざまな長さ、数値、任意のサイズの数値の配列の文字ベクトルを含めることができます。 セルのセットは()で囲まれ、セルへのアクセスは、セル関数を作成、編集、または削除する{}を使用して行われます。

構文 c = {s、m、i、l、e}

テーブル

表形式または列指向のデータには表が必要であり、これはテキストファイルまたはスプレッドシートに列として保存されます。 行と列の変数が含まれています。 各変数のデータ型とサイズは異なりますが、各変数の行数は同じである必要があります。

さまざまな関数を使用してデータにアクセスし、テーブルデータを作成、編集、および読み取ります。

構造

名前付きフィールドには、さまざまなタイプとサイズのデータ​​が含まれています。 ここで、データコンテナは、フィールドと呼ばれる関連データとそのタイプをグループ化するために使用されます フィールドには、任意のタイプのデータを含めることができます。

構造体のデータへのアクセスは、ドット表記を使用して行われます。

形式:structname.fieldName。

例:

スカラー構造は、同じグループに属する患者の記録を保存するために使用されます。

patient(1).name ='John Doe';

patient(1).billing = 127.00;

patient(1).test = [79、75、73; 180、178、177.5; 220、210、205];

関数ハンドル

関数ハンドルの使用は、主に関数(数値または文字)を別の関数に渡すことです。 関数を間接的に呼び出すために使用される変数は、関数ハンドルとして名前を付けることができます

関数ハンドルを作成するには、「@」演算子を使用します。

例:a2 -b2を評価する関数ハンドルを作成するために使用される関数は、次のとおりです。

F = @(a、b)(a。^ 2 –b。^2);

データ型の識別

MATLABには、データ型を識別するために使用される一連の変数があります

iscalendarduration 入力データがカレンダー期間配列であるかどうかを確認するには
iscellstr 入力データがセル配列であるかどうかを確認するには、文字ベクトルを使用します
iscell 入力データがセル配列かどうかを確認するには
isjava 入力データがJavaオブジェクトかどうかを確認するには
ischar 入力データが文字配列かどうかを確認するには
iscategorical 入力データがカテゴリ配列かどうかを確認するには
isduration 入力データが期間配列であるかどうかを確認するには
isenum 変数が列挙型であるかどうかを確認するには
isfloat 入力データが浮動小数点配列かどうかを確認するには
isdatetime 入力データが日時配列かどうかを確認するには
isinteger 入力データが整数配列かどうかを確認するには
istable 入力データがテーブルかどうかを確認するには
isgraphics 有効なグラフィックスオブジェクトハンドルの場合はTrue
isnumeric 入力データが数値配列かどうかを確認するには
isobject 入力データがMATLABオブジェクトであるかどうかを確認するには
は本物配列が本物かどうかを確認するには
isstring 入力データが文字列配列かどうかを確認するには
isstruct 入力データが構造体配列かどうかを確認するには
validateattributes アレイの有効性を確認してください
istimetable 入力データが時刻表かどうかを確認するには
isa 入力データに指定されたデータ型があるかどうかを確認するには
islogical 入力データが論理配列かどうかを確認するには
は* 状態の検出
クラスオブジェクトのクラス

データ型変換

次の関数は、さまざまなMATLABデータ型、数値配列、文字配列、セル配列、構造体、またはテーブルの間で変更するために使用されます。

char –文字配列

cellstr –文字ベクトルのセル配列に変更します

int2str –整数を文字に変更します

mat2str –行列を文字に変更します

num2str –数値を文字配列に変更します

str2double –文字列を倍精度値に変更します

str2num –文字配列または文字列を数値配列に変更します

native2unicode –数値バイトをUnicode文字表現に変更します

unicode2native –Unicode文字表現を数値バイトに変更します

base2dec –基数Nの数値を表すテキストを10進数に変更します

hex2dec –16進数のテキスト表現を10進数に変更します

hex2num –IEEEの16進形式を倍精度の数値に変更します

num2hex –単精度および倍精度の数値をIEEE16進形式に変更します

table2array –テーブルを同種の配列に変更します

table2cell –テーブルをセル配列に変更します

table2struct –テーブルを構造体配列に変更します

array2table –同種配列をテーブルに変更します

cell2table –セル配列をテーブルに変更します

struct2table –構造体配列をテーブルに変更します

cell2mat –セル配列を基になるデータ型の通常の配列に変更します

cell2struct –セル配列を構造体配列に変更します

mat2cell –セルにサブ配列が含まれるセル配列に配列を変更します

num2cell –一貫したサイズのセルを持つセル配列に配列を変更します

struct2cell –構造をセル配列に変更します

また読む:データ構造の再帰:どのように機能するか、タイプと使用時期

結論

上記の記事から、さまざまなMATLABデータ型の概要を把握しました。 これらの各データ型は、MATLABユーザーがMATLABプログラミングを理解して効果的に使用するために非常に重要です。 MATLABは、その正確な計算、構文、および大規模なコミュニティサポートにより、科学および工学の分野で非常に人気があります。

MATLAB、機械学習、およびその関連トピックについて詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのPGディプロマをご覧ください。これは、働く専門家向けに設計されており、450時間以上の厳格なトレーニングを30時間以上提供しています。ケーススタディと課題、IIIT-B卒業生のステータス、5つ以上の実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。

MATLABで使用されるさまざまなデータ型は何ですか?

MATLABのデータは、数値または文字のいずれかです。 数値データは、加算や乗算など、使い慣れた数値や算術演算に対応する値を表します。 文字データは、単語、文字、記号('$'など)などのテキストの文字列です。 文字配列の要素には、数値データの場合と同じ構文を使用してアクセスできます(たとえば、C('これは文字配列です')は、文字列を含む配列Cの要素を返します。これは文字配列です)。

MATLABの構造とは何ですか?

MATLABには、セル配列、構造体、ハンドル配列の3つのクラスの構造体が含まれています。 セル配列は、さまざまなタイプの要素を含む単一のデータ構造です。 セル配列は実際には構造体のグループであり、各構造体には配列の1つの要素が含まれています。 cell()関数を使用してセル配列を作成する場合、MATLABはデフォルトで配列をゼロで埋めます。 構造体は、すべて同じ名前の変数のコレクションですが、タイプが異なる場合があります。 MATLABは、構造体をセル配列として処理します。 セル配列に格納できる構造体は1つだけです。 ハンドル配列は、他のMATLAB配列またはグラフや図などのオブジェクトへの参照用のコンテナーです。 複数のハンドル配列をセル配列に格納できます。

matlabでデータ型を識別する方法は?

これは、matlabでisaコマンドを使用して実行できます。 isaコマンドの構文は次のとおりです:isa(my_data)。 次に例を示します。my_dataのデータ型を知りたい場合は、isaコマンドを次のように使用できます。isa(my_data)これにより、次のテキストが返されます:int64、int32、int16、uint8、uint32、uint64、complex64、complex128、char 。 このコマンドは、matlabでのみ使用されます。