- 在线时间
- 30 小时
- 最后登录
- 2016-8-26
- 注册时间
- 2012-9-1
- 听众数
- 7
- 收听数
- 0
- 能力
- 0 分
- 体力
- 553 点
- 威望
- 0 点
- 阅读权限
- 30
- 积分
- 202
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 71
- 主题
- 3
- 精华
- 0
- 分享
- 0
- 好友
- 9
升级   51% TA的每日心情 | 奋斗 2014-4-16 14:14 |
|---|
签到天数: 57 天 [LV.5]常住居民I
- 自我介绍
- 这家伙很懒,没有自我介绍。
 群组: 学术交流B |
自学,一本教程上的一个例子:5 X6 f# v' g- B8 R
编程输入范德蒙德型矩阵。
, ~* c8 }, G4 U( |在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的
* {1 I4 a+ ]2 o- zclear all;
X9 i9 n0 p& L* Y& l$ A7 P9 k: v4 o0 Sx=[-1,0,1,2,3]';2 {* e( V" e9 x2 p5 {$ _
for i=1:5! S! S7 V- Y) S% D+ O k. x" H) O
for j=1:5- h6 l- z3 l$ U, ^
A(i,j)=x(i).^(j-1);: _( j! s! I2 h3 Y- p5 y3 L
end) B. y" @7 j) S: B
end3 z- ?5 q! ]' u5 f! T3 v
A) B1 f! A' R/ z; E" I/ [
运行后显示正确答案。& V: g" J! b1 ?
光是这样不错,但是书上又来了句:- l( v- e. N5 D
“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”
2 V, k3 Z( ~1 N/ I0 @' R% a2 i( I
; E, ~' B/ v4 V然后书上贴了一段代码:
9 p0 L" w- |5 Q5 u3 \' ]clear all;
' x5 s# D# @% W1 L3 b2 |x=[-1,0,1,2,3]';
, M$ _# \8 v4 g1 m Gfor j=1:5
; R- n4 y. w- D" |& c A(i,j)=x(i).^(j-1);
+ s7 y( r3 y: V3 hend
3 W- e& F. H3 `7 `4 uA* G0 e4 Y1 E0 ~7 ~+ j3 t
书上对这段的解释是:# y! s7 P1 T8 J, r/ l
“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”
1 T, |& O8 M0 j! `6 K/ i2 u3 @% ^. @# K' g
但是后一段我运行后出错,显示第4行出错,报错:
2 r5 b( J( m5 \, d+ ?8 eSubscript indices must either be real positive integers or logicals.
( q- x/ C9 a. e3 T2 u' _是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?
9 F+ y5 {' w6 I, U- ^谢谢! |
zan
|