Help us understand the problem. What is going on with this article?

他言語からMatlabに来た人がハマりそうなlength()の話

More than 1 year has passed since last update.

物の見事にハマった

lengthで文字列の長さを取ろうとしたら思ったようにとれず、コマンドウインドウでこんなコマンドを叩いてみた。

コマンドウインドウ
> hoge = "somestring";
> length(hoge)

  ans =
        1

違う、そうじゃない。

stringで文字数が欲しい場合はstrlengthで。

lengthではなくstrlengthを使うと文字数が取れます。

コマンドウインドウ
> hoge = "somestring";
> strlength(hoge)

  ans =
        10

やったぜ

そもそもstringは最近実装された型

Matlabのドキュメンテーションで確認すると、stringが実装されたのは「R2016b」(=2016年後期)。
めちゃんこ最近です。
文字配列を数値配列に変換するやり方として「str2num」や「str2double」がありますが、「strだからstringだろ」とstringを突っ込むと前者はエラー、後者は空の行列になります。

Matlabで文字列を扱うときはcharを使いましょう

ginger893
オタクと技術者の境界線をフラフラしているマン。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away