Assignment has more non-singleton rhs dimensions than non-singleton subscripts
显示 更早的评论
I've seen this error asked about a few times, but not when a individual value is being assigned to the matrix index. Since I'm not trying to assign an entire matrix to the index in "hands", what could be causing this then?
table = get(handles.deckList,'string');
hands = zeros(2,7);
%parse table cards into both hands
for i = 1:2
for j = 1:7
if i == 1 && j == 1
hands(i,j) = table{1}; %Error occurs here
hands(i,j+1) = table{2};
elseif i == 1 && j > 2
hands(i,j) = table{j+2};
elseif i == 2 && j == 1
hands(i,j) = table{3};
elseif i == 2 && j >= 2
hands(i,j) = table{j+2};
end
end
end
This is the code I'm working with. I've also tried storing the value from the cell array to another variable and assigning that but it throws another error about matrix dimensions which is another problem.That code is below.
card = table{1};
hands(1) = card;
card = table{2};
hands(3) = card;
card = table{5};
hands(5) = card;
card1 = table{6};
hands(7) = card;
%and so on for the rest of the matrix.
采纳的回答
更多回答(1 个)
Walter Roberson
2016-11-24
2 个投票
There are two kinds of strings in MATLAB. The older kind is the one you are using, and it is really a row vector of characters. Unless that happens to be exactly one character it is not going to fit in a single location in the numeric vector "hands"
Perhaps you want to use str2double to convert the string into a numeric value?
类别
在 帮助中心 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!