MATLAB ブラケット

Ammar Ali 2023年1月30日
  1. MATLAB で角括弧を使ってベクトルや行列を作る
  2. MATLAB でセル配列を作成するための中括弧の使用
MATLAB ブラケット

このチュートリアルでは、角かっこを使用して行列を作成し、中かっこを使用して MATLAB でセル配列を作成する方法について説明します。

MATLAB で角括弧を使ってベクトルや行列を作る

角括弧を使用して、MATLAB で任意のサイズのベクトルと行列を作成できます。たとえば、角括弧を使用して、整数のベクトルと行列、および文字配列の行列を作成しましょう。以下のコードを参照してください。

myVector = [1 2 3]
myMatrix = [1 2 3; 5 6 7]
char_matrix = ['a';'b';'c';'d';'f']

出力:

myVector =

     1     2     3


myMatrix =

     1     2     3
     5     6     7


char_matrix =

  5×1 char array

    'a'
    'b'
    'c'
    'd'
    'f'

ベクトルと整数の行列、および文字配列の行列を作成しました。各要素は、マトリックス内の特定のインデックスに保存されます。マトリックスのインデックスを使用して、マトリックスに存在する要素を抽出または変更できます。インデックスは MATLAB では 1 から始まります。たとえば、myVector のインデックス 1 に存在する値を取得し、抽出された値で myVector のインデックス 2 に存在する値を変更してみましょう。以下のコードを参照してください。

myVector = [3 2 6]
value = myVector(1)
myVector(2) = value

出力:

myVector =

     3     2     6


value =

     3


myVector =

     3     3     6

インデックス 1 に存在する値である 3 を抽出し、それをインデックス 2 の myVector に保存しました。ご覧のとおり、ベクトルの要素が変更されています。マトリックスを使用してこれを行うことができますが、1つのインデックスではなく、行に 2つの値、列に 1つの値を指定する必要があります。1 の行列を作成する ones() 関数と 0 の行列を作成する zeros() 関数。行列のサイズを取得するための size() 関数と、行列に存在する特定の値を検索するための find() 関数。行列の詳細については、このリンクを確認してください。

MATLAB でセル配列を作成するための中括弧の使用

中括弧を使用して、MATLAB で任意のデータ型のセル配列を作成できます。セル配列に複数のデータ型を格納できます。たとえば、整数と文字をセルに格納してみましょう。以下のコードを参照してください。

myCell = {10,'Hello'}

出力:

myCell =

  1×2 cell array

    {[10]}    {'Hello'}

セル配列には 2つの配列が含まれ、1つの配列には整数が含まれ、もう 1つの配列には文字が含まれます。インデックスと代入演算子を使用して、データを抽出して既存のセルに保存できます。たとえば、インデックス 2 に格納されている値を抽出し、セルのインデックス 3 に格納してみましょう。以下のコードを参照してください。

myCell = {10,'Hello'}
v = myCell(2)
myCell(3) = v

出力:

myCell =

  1×2 cell array

    {[10]}    {'Hello'}


v =

  1×1 cell array

    {'Hello'}


myCell =

  1×3 cell array

    {[10]}    {'Hello'}    {'Hello'}

インデックス 2 の値を抽出して変数 v に格納し、この値をセル配列のインデックス 3 に格納しました。cell2mat() のような多くのセル関数を使用して、セル配列を行列に変換したり、セルに関連するさらに多くの関数を使用したりできます。セルアレイの詳細については、このリンクを確認してください。

著者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

関連記事 - MATLAB Matrix