IndexingProblem
2 ビュー (過去 30 日間)
古いコメントを表示
I have a macro that has an indexing problem.
CartridgeID
i = 1,length(allData);
Cart_ID(i) = allData(i).CartridgeID;
end
An attempt to execute the above results in:
i =
1
Subscripted assignment dimension mismatch.
>>
Obviously an indexing problem, but I can't seem to find a solution.
0 件のコメント
回答 (1 件)
Walter Roberson
2012 年 6 月 8 日
Without a loop:
Card_ID = [allData.CartridgeID]
With a loop, you will need a "for" statement such as
for i = 1 : length(allData)
Notice the colon instead of comma, and notice the "for". The code you had assigns 1 to i, displays the result, calculates length(allData) and throws away the result of that calculation.
How did you manage to get a 24 digit integer? The maximum integer for uint64 is only 20 digits. Perhaps the value is not really a 24 digit integer, but is instead (e.g.) a string? If it is then you need to store it to multiple output locations:
for i = 1 : length(allData)
Cart_ID(i,:) = allData(i).CartridgeID;
end
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!