| 查看: 192 | 回复: 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 ] |
» 猜你喜欢
体制内长辈说体制内绝大部分一辈子在底层,如同你们一样大部分普通教师忙且收入低
已经有12人回复
过年走亲戚时感受到了所开私家车的鄙视链
已经有9人回复
今年春晚有几个节目很不错,点赞!
已经有10人回复
情人节自我反思:在爱情中有过遗憾吗?
已经有10人回复
基金正文30页指的是报告正文还是整个申请书
已经有5人回复
dnp
荣誉版主 (知名作家)
小木虫浪子
- 应助: 74 (初中生)
- 贵宾: 18.476
- 金币: 18849.4
- 散金: 2040
- 红花: 77
- 沙发: 6
- 帖子: 7315
- 在线: 597.6小时
- 虫号: 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













回复此楼