• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

matlab中关于使用length导致的不稳定状况。 - 面朝终南山

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

matlab中关于使用length导致的不稳定状况。

前几天在做一个matlab的程序过程中,程序总是遇到提示所需坐标已经超出范围的提示。很奇怪的问题。

我检查了程序,首先确认这不是一个程序上简单的语法问题导致的。在调一些较大的程序过程中其实麻烦的过程,通过数次单步调试,

最终将程序停在了,报错的前一行,这个过程还是一个花了我快一个小时,囧啊囧啊囧啊。

检查for循环过程中的变量变化,发现原本只有一组返回的数据,在for循环的次数却是2次!!

这是怎么回事,程序确实只返回了一组数据,为什么要返回两次循环,由于数据不存在,必然导致数据超出范围。

google了一下,大家的说法也都千奇百怪,不是很合适我的这个情况。

郁闷了。

主要到刚好我的for循环是这样写得:

for i = 1 : length(zuobiao)

  XXXXXXXXXXXXX

     XXXXXXXXXXXXXX

end

注意到了,中间没有问题,那问题肯定就出在length()这里。于是看看matlab help中对length的描述。

length

Description :Length of vector or largest array dimension

看到这里就明白了,length返回的是最大的维数。这就是问题。

若矩阵为2*2矩阵,返回2.若矩阵为1*2,返回2.若矩阵为2*1也为2,这样就明显的出现问题了。

这边是不注意,导致的问题。其实如果使用一个size函数,很轻松就搞定了,而且像这种不稳定的情况也会很少发生。

^.^


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TDragImagev0.1Delphi图片拖拽组件带有加速度碰撞效果发布时间:2022-07-18
下一篇:
Delphi6/7中XML文档的应用发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap