- 在线时间
- 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 |
自学,一本教程上的一个例子:
0 S; k' q, q! o2 B# S& ]9 |' Q编程输入范德蒙德型矩阵。9 g6 I! R0 m8 e* s9 s- Q" S
在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的: o) s0 _! l5 ]% s/ O# Q) W1 I6 d
clear all; J; B8 q, j( j' T: x. {$ ~" y, q
x=[-1,0,1,2,3]';% t% S9 Q% ]+ M) r, y/ A9 r
for i=1:54 S; L, E& f$ U' e
for j=1:5
7 t/ e1 U1 E7 V4 V: N8 u A(i,j)=x(i).^(j-1);
# e& M3 L) V/ _( R! H+ W& l end
- D2 |$ R* A* t" f* h \end8 ]: l7 Q2 X w/ Z! U
A
6 g& ]7 P. g4 j5 j$ `5 _* k+ k* j运行后显示正确答案。' m3 M$ \: [ @* y+ C
光是这样不错,但是书上又来了句:
$ w: C; o6 C: ?* u“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”
8 q' N6 k0 |" U( N7 m& A# |1 h. }! `
# m* Z" I" a) M8 w# }: i/ ?然后书上贴了一段代码:+ C3 b5 ^3 H5 {, {9 ^8 m1 T7 E
clear all;
: m! f, p% z: m: t- Q0 qx=[-1,0,1,2,3]';
0 [) T% g) |+ l, A% P V7 Dfor j=1:57 }! R0 R* _3 T- w8 o7 t* |5 t
A(i,j)=x(i).^(j-1);5 i0 s7 T5 V) r2 S; e
end: c9 u7 I1 l$ k; g
A _. _/ ] F1 _$ r- z% \
书上对这段的解释是:
# ]8 x/ ?! y9 @; g“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”! C9 ~1 E9 v- D/ T5 r7 b3 D
& A8 n0 ~9 B' B2 w) N/ {/ |. S8 q* K4 w: R但是后一段我运行后出错,显示第4行出错,报错:' s, L; u2 @/ f- L- q
Subscript indices must either be real positive integers or logicals.
9 K1 G8 U/ v% l是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?
+ C: ]( i! H- a( k0 h5 {( n谢谢! |
zan
|