I вход «тест» в качестве строки, фразы, и это дает мне следующую ошибку:В назначениях А (I) = В, число элементов в B и я должен быть таким же
>> 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, а в точке г = 1, р = [] (и пустой массив до сих пор), code128B = < 108x3 клеток> (A 108 на 3 ячейки, заполненные строками), а фраза = 'тест'. Следующая строка дает мне ошибку выше. Я пробовал делать:
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};
Возвращает правильные переменный, так что я знаю, это много работы. Это просто не работает, когда я повторяю его. Как я могу это исправить?
Кроме того, я попытался changeing код, чтобы при г = 1: длина (code128B), который должен сделать число элементов в I и B таким же, но я все равно получаю ту же ошибку. Даже если это не работает, как только i> 4, как фраза = 'тест', длина которой составляет 4 символа. – user2723629
Что такое code128B.mat? – Marcin