2017-01-23 7 views
0

を受け入れていないが、我々はそのヘッダ名numericalsと非numericalsのミックスが含まれている必要があり1×3テーブルA=table(1,2,3);のMatlabの「VariableNames」は、数値&非数値項目のミックス

があるとします。

A.Properties.VariableNames={'from 1st-5th' 'from 6th-10th' ... 'from 11th-15th'}; 

と次のエラーを生成します。

from 1st-5th' is not a valid variable name.

私はこれを解決するためにsprintf機能を試してみましたエラーですが、formatSpecパラメータが混乱します。さらに、私はevalについて読んで、それが私の文脈で役に立つかどうかを知りたいと思います。 genvarname使用の

結果:あなたのエラーとして

enter image description here

答えて

3

非常に明確にあなたが変数名のために提供した文字列は、あなたが構築されたを使用することができますnot valid variable nameswhen they have to be

Variable names, specified as a cell array of character vectors that are nonempty and distinct. Variable names must be valid MATLAB® variable names

ある、と述べ-in genvarnameを入力して文字列をvalid variable namesに換算します。

A.Properties.VariableNames = genvarname({'from 1st-5th' 'from 6th-10th' 'from 11th-15th'}); 

また、有効な変数名(スペースまたはハイフンなし)である独自の変数名を用意してください。

names = {'from 1st-5th' 'from 6th-10th' 'from 11th-15th'}; 
A.Properties.VariableNames = regexprep(names, '[ \-]', '_'); 
+0

ありがとう、@Suever!残念ながら、これは望みの結果をもたらしませんでした(上記のスナップショットを参照)。 – John

+0

@John 'genvarname'の出力がうまくいかない場合は、ラベルを自分で変更してください。有効な変数名)。あなたは有効な名前 – Suever

+0

を定義したもののために投稿したリンクを見ることができます。@Suever!上記のような形式の実際の結果をまだ探しています – John

関連する問題