- 在线时间
- 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 |
自学,一本教程上的一个例子:! H b) C$ g& {: z/ t; h$ g0 i+ q
编程输入范德蒙德型矩阵。
: s, y$ o9 C% F8 }& w在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的* M. H+ q6 d1 v
clear all;
- A+ i% \2 R' a. q3 X1 rx=[-1,0,1,2,3]';
4 j8 y7 R1 f: s0 D$ Zfor i=1:5
- |" A& m' p) f E. L for j=1:5
3 W' j* [% A! f4 b+ q A(i,j)=x(i).^(j-1);3 [' ^' F9 j$ h7 D
end0 `2 B" m" `! ^. u
end
# Y/ X# }8 J% k0 u1 d1 QA% ?+ H; n& d+ W2 h
运行后显示正确答案。
$ v: S4 ~1 h2 S9 C光是这样不错,但是书上又来了句:" r. U. s* v3 ^- c" f, @& O
“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”
& k$ s6 ^/ @0 {# t/ [5 i# T. E3 {& J" H! X" W, w
然后书上贴了一段代码:$ }) L+ c) V: H2 v$ v! s- [
clear all;
- M6 L8 v! r& D/ A! d3 `x=[-1,0,1,2,3]';
9 B& D* q" m* dfor j=1:5% P/ Z7 b- A4 ~3 r t& t
A(i,j)=x(i).^(j-1);5 q @# O7 I0 ^- [, G
end* A7 ?! A4 C' t a8 A* i! z
A
1 j' c8 Y6 c& {; _! Z书上对这段的解释是:
' l7 l# p: Q7 E: Y) E3 I, G“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”8 _: b" \0 k& r0 s( ]
" Z2 d6 A& l+ v4 ~
但是后一段我运行后出错,显示第4行出错,报错:/ v* a" }7 a7 `; e. r8 ^6 n
Subscript indices must either be real positive integers or logicals.* p8 p* ?" ^1 m2 u0 R
是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?2 R6 S5 e' F& K, H1 u
谢谢! |
zan
|