what is the error here?

data1 = [data1,(text(k,6))];
Error using horzcat CAT arguments dimensions are not consistent.
Error in data1 = [data1,(text(k,6))];

4 个评论

for Q=1:length(querymdr)
for k=1:length(text)
if datatext{Q,1}==text{k,1}
M=text(k,6);
data1 = [data1,(text(k,6))];
k=k+1;
end
end
end
James Tursa
James Tursa 2015-5-15
编辑:James Tursa 2015-5-16
What are the contents of datatext and text? I.e., what are the underlying variable types and sizes?
Are you sure you want the test to be datatext{Q,1}==text{k,1} and not something like isequal(datatext{Q,1},text{k,1})?
Why are you manually incrementing the for-loop index k within the loop?
this is the contets of datatext and text
datatext 5*6 cell text 8*6 cell
i want the answer to be:
ans 5*8 cell
any help, this is the code
for Q=1:length(querymdr)
for k=1:length(text)
if datatext{Q,1}==text{k,1}
datatext = [datatext,(text(k,6))];
end
end
end

请先登录,再进行评论。

回答(1 个)

You need to find an empty position in datatext(Q,:) to assign into. For example,
nextslot = find(cellfun(@isempty,datatext(Q,:)));
if isempty(nextslot)
nextslot = size(datatext,2);
end
datatext{Q,nextslot} = text{k,6};
This will grow datatext wider if necessary in order to handle the new information.

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by