声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1520|回复: 6

[综合讨论] Subscript indices must either be real positive integers or logicals.

[复制链接]
发表于 2009-3-13 21:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
小弟刚学matlab,遇到一个棘手问题,如下:
>> a=[1 2 3 4;2 3 4 5;9 8 7 6]
a =
     1     2     3     4
     2     3     4     5
     9     8     7     6
>> l1=logical([1 1 1])
l1 =
     1     1     1
>> l2=([0 0 0 1])
l2 =
     0     0     0     1
>> a(l1,l2)
??? Subscript indices must either be real positive integers or logicals.
这可是课本上的一个例题,怎么会这样呢?哪位高手可以帮帮忙/

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2009-3-14 00:12 | 显示全部楼层
是不是这个l2=logical([0 0 0 1])
这个例子应该怎么理解呢?
发表于 2009-3-14 08:12 | 显示全部楼层
根据你的程序
a(l1,l2)就是a(1 1 1,0 0 0 1)

评分

1

查看全部评分

发表于 2009-3-14 11:53 | 显示全部楼层
用matlab验证后发现,应该是l2=logical([0 0 0 1]),否则l2中含有0,但又不是logical型,无法用来做下标索引的。
 楼主| 发表于 2009-3-14 12:27 | 显示全部楼层
我修改了一下后,把 l2=([0 0 0 1])改成 l2=([0,0,0,1])再运行就不会出问题了,这是为什么呢?
发表于 2009-3-14 15:36 | 显示全部楼层

回复 5楼 backfire1986 的帖子

你那里可以??? 那为什么我这边不行啊?我觉得应该是不可以才对,我matlab2007 a
 楼主| 发表于 2009-3-14 20:41 | 显示全部楼层
我晕!原来是输入错了。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 11:50 , Processed in 0.058920 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表