| 查看: 183 | 回复: 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 ] |
» 猜你喜欢
有没有人能给点建议
已经有5人回复
假如你的研究生提出不合理要求
已经有12人回复
实验室接单子
已经有7人回复
全日制(定向)博士
已经有5人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
对氯苯硼酸纯化
已经有3人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
dnp
荣誉版主 (知名作家)
小木虫浪子
- 应助: 74 (初中生)
- 贵宾: 18.476
- 金币: 18799.9
- 散金: 2040
- 红花: 77
- 沙发: 6
- 帖子: 7304
- 在线: 593.8小时
- 虫号: 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












回复此楼