| 查看: 191 | 回复: 2 | |||
| 当前主题已经存档。 | |||
蓝的蓝木虫 (正式写手)
|
[交流]
【求助】各位高手帮忙看下这个程序
|
||
|
for i=0.1:0.1:1 p(10*i)=i; end 我运行后的结果是[0.1,0.2],而且提示说:??? Subscript indices must either be real positive integers or logicals.请问这是怎么回事啊?谢谢了 [ Last edited by woshilsh on 2009-2-18 at 23:38 ] |
» 猜你喜欢
遇见不省心的家人很难过
已经有11人回复
博士延得我,科研能力直往上蹿
已经有4人回复
退学或坚持读
已经有24人回复
免疫学博士有名额,速联系
已经有14人回复
面上基金申报没有其他的参与者成吗
已经有4人回复
多组分精馏求助
已经有6人回复
dnp
荣誉版主 (知名作家)
小木虫浪子
- 应助: 74 (初中生)
- 贵宾: 18.476
- 金币: 18791.4
- 散金: 2040
- 红花: 77
- 沙发: 6
- 帖子: 7305
- 在线: 594.4小时
- 虫号: 437184
- 注册: 2007-08-26
- 性别: GG
- 专业: 生物信息学
- 管辖: 有机交流
★ ★ ★ ★ ★ ★ ★
woshilsh(金币+4,VIP+0):感谢帮助,呵呵,牛年快乐 2-18 23:39
蓝的蓝(金币+3,VIP+0):谢谢 2-19 08:17
woshilsh(金币+4,VIP+0):感谢帮助,呵呵,牛年快乐 2-18 23:39
蓝的蓝(金币+3,VIP+0):谢谢 2-19 08:17
|
在你运行的过程中,10*i这个指示下标的值会发生变化,原来是整型的变量会变成double型的变量,从而在matlab中运行的时候会导致matlab不认其为符合语法的下标,我通过运行了下命令如下的命令: i = 0.1:0.1:10 10*i 得到的结果: 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 所有的结果中都是double型的,而matlab要求作为下标的变量是要用整型的变量,因此会导致以上错误; 但是其实为什么在i=0.1及0.2的时候matlab计算10*i这个值会得到整型的下标,但是当i>=0.3时却无法得到整型的值,这个是什么原因我也不大清楚; 不过如果你的命令如下就没有问题了: for i=0.1:0.1:1 p(round(10*i)) = i; end matlab还真麻烦呵~~ |

2楼2009-02-18 22:36:41

3楼2009-02-19 02:12:31













回复此楼