首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下标索引必须是实数正整数或绘图中的逻辑数

下标索引必须是实数正整数或绘图中的逻辑数
EN

Stack Overflow用户
提问于 2014-07-29 03:41:48
回答 1查看 104关注 0票数 0

我正在尝试绘制矩阵形式的现有数据。当我尝试绘图时,我得到了错误:

“下标索引必须是实数正整数或逻辑数。”

Plot_Displacement_Linear (第35行)绘图出错( xn(:),ucp(:),'rs',xn(:),ucp_actual(:),'g')

这是非常奇怪的,因为':‘运算符不是一个特定的索引,而只是意味着,访问所有数据作为一个数组。它应该是有效的,而且在过去也是有效的。我研究了xn、ucp和ucp_actual。它们是3D数组,因为它们对应于体积中的位置,但我只对xn感兴趣,xn是体积中当前的x位置。因此,我以xn(:)、ucp(:)、ucp_actual(:)的形式访问它们。因此,我得到了这个错误。我认为这对2D矩阵有效,但这是我第一次通过代码输入3D矩阵。

我研究了plot函数中给出的数组,通过定义新变量如下:

代码语言:javascript
复制
xni = xn(:);
ucpi = ucp(:);
ucp_ai = ucp_actual(:);

它们都是一维数组,都是404600x1 (双精度)。所以plot应该已经很好地处理了它们。它们都有相同的长度。

为了确定这是否只是3D访问中的一个小故障,我随后使用了上面重新定义的变量并尝试:

代码语言:javascript
复制
plot(xni(:),ucpi(:),' rs',xni(:),ucp_ai(:),'g'),
plot(xni(:),ucpi(:),xni(:),ucp_ai(:)),
plot(xni,ucpi,xni,ucp_ai),
and finally: plot(xni,ucpi) and plot(xni',ucpi').

没有任何东西工作,所有的都产生了相同的错误,即使没有索引被访问,并且只有两个相同长度的向量。有人知道这是怎么回事吗?

提前谢谢你,

丹·M

EN

回答 1

Stack Overflow用户

发布于 2014-07-29 23:59:21

编辑:好的,我想我解决了这个问题,在尝试了下面的方法后,我知道有更深层次的问题:

代码语言:javascript
复制
>> ans = [1;2;3];
>> ans2 = [1;2;3];
>> plot(ans,ans2)
Error: 'Index exceeds matrix dimensions.'

再也没有索引了,我只是定义了这些数组。在研究我的数据字段后,我发现我定义了一个名为"plot“的变量,所以它被搞糊涂了。我很惊讶matlab竟然允许我这么做。在使用“清晰的绘图”之后,代码工作得很好。很抱歉给您添了麻烦。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25003046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档