文字列、フレーズとして「test」を入力すると、次のエラーが表示されます。
>> CreateBarcodePattern('test')
In an assignment A(I) = B, the number of elements in B and I must be the same.
Error in CreateBarcodePattern (line 5)
p(i) = code128B{find(ismember(code128B,phrase(i)))-109,3};
関数 CreateBarcodePattern は次のとおりです。
function [p] = CreateBarcodePattern(phrase)
load('code128B');
p = [];
for i = 1:length(phrase)
p(i) = code128B{find(ismember(code128B,phrase(i)))-109,3};
end
5 行目にブレーク ポイントを配置し、ポイント i = 1、p = [] (ここまでは空の配列)、code128B = <108x3 セル> (108 x 3 セルに文字列がいっぱい)、phrase = 'test '。次の行で上記のエラーが表示されます。私はやってみました:
load('code128B.mat')
p = [];
phrase = 'test';
p(1) = find(ismember(code128B,phrase(1)))-109;
p(1) = code128B{p(1),3}
しかし、最後の行でエラー:
In an assignment A(I) = B, the number of elements in B
and I must be the same.
再び与えられる。p = 84
私が期待しているエラーの直前に、これは前p(1) = fi...
の行が原因です。
code128B{find(ismember(code128B,'t'))-109,3};
正しい変数を返すので、これでうまくいくことがわかります。私がそれを繰り返しているとき、それはうまくいきません。どうすればこれを修正できますか?