2016-09-24 3 views
0

私がする必要があるのは、char値と等しい整数を設定することです。整数をcharリテラル値と等しくするにはどうすればいいですか?

たとえば、charが1の場合、intではなく49になります。

最大の問題はベクターにする必要があることです。だから、私は、charベクトル

[ 0 0 0 ] 

を持っていると私はそれが私がそれはstr2numは0 ...

が私の正確な問題を抱えているために削除されていint型のベクトル

[ 0 0 0 ] 

問題になりたいです私は行列から線を選んでベクトルと同じに設定します:

virginMatrix(i,:) = prematrix([positionToPick : (positionToPick + P - 1)]); 
+0

'str2num'が' 0'を削除する実際の例を教えてください。私はそれを再現することができません – Suever

+0

@Suever私はあなたの時間のために多くの感謝をさせてください。 Sardar_Usamaはちょうどすべてを解決した答えを投稿しました! – Cher

+0

@Cher私の答えを参照してください – Suever

答えて

1

私はあなたの質問を正しく理解していれば、このc次のようにnum2cellstrjoinstr2numを使用して行われる:

string = [ '0' '0' '0' ]; 
required = str2num(strjoin(num2cell(string))) 
+0

あなたは私の感謝を持っています!私はこれを見つけたことはありません! – Cher

4

あなたは、単に数として文字列から各桁をしたい場合は、単に各要素から文字列'0'を引きます。これにより、文字列内の各文字と数字を表す数字の配列から、'0'のASCIIコードが減算されます。

string = '000' 

out = string - '0'; 

% 0 0 0 

これは単なるストレートアップの減算であるため、これは最も実績のあるソリューションであるというボーナスを追加しました。ここで

+2

実行者、はい。 'string-48'はゴルファーになるでしょう。 ;) – beaker

+1

これは最高です、私は推測します:) –

2

は、あなたがこれを行うことができます別の方法です:

str2numは、文字列の列を連結しているので、あなたは、文字列を転置数字への変換、および行に戻って転置することによって、単一の行に各桁を変えることができますベクトル:

required = str2num(string.').'; 

required = 

    0 0 0 
+0

これは良いです。あなたは私の投票を持っています! –

関連する問題