【发布时间】:2013-12-05 02:19:40
【问题描述】:
我有一个数学数据,让索引从零开始会非常方便
a=sparse([],[],[],30,1);
>> a(0)=someValueHere
Subscript indices must either be real positive integers or logicals.
但默认情况下,Matlab 仅提供从 1 开始的索引。是否有一些简单的技巧或技巧,我仍然可以分配 a(0),这样我就不需要为该值创建一个 dummyVar a0 或在末尾追加值?
那么如何在Matlab中得到a(0)这样的赋值呢?每次调用 zero-index 时都会捕获错误并返回 someValueHere 而不是警告?
【问题讨论】:
-
请解释下投票 - 必须有一些黑客才能让它工作。我认为没有理由不这样做:抓住错误并重新定义分配。
-
非常有趣。
a(i+1)? -
这就像询问如何在 C 中重新定义索引以从 42 开始...我投票关闭。
-
一点也不。使用
a(i+1)现在i可以从0开始。我不知道您可能正在寻找什么其他解决方案。也许编写一个 mex 函数来使用 C 的 0 索引?我不确定你是否解释了你的问题,这当然可以使用 Matlab 的索引来解决。
标签: matlab error-handling indexing bigdata readability