- 在线时间
- 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 |
自学,一本教程上的一个例子:
3 E! V+ h5 v: C编程输入范德蒙德型矩阵。
' k+ v+ K8 B4 R, R1 r* J) U在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的' Y9 m( X4 x/ i9 [5 ]
clear all;
7 _8 K& c/ u, l6 r' x4 G, e rx=[-1,0,1,2,3]';5 _ M4 X* ]1 L" S4 T- p
for i=1:5
# `* `8 I' G5 ]; v+ B for j=1:5
1 s% G% B1 D o- \6 C A(i,j)=x(i).^(j-1);
5 H5 G# }, u. g$ K end, D9 |" g, R+ l" m
end0 o# C: c& P8 z3 J
A
9 T3 C7 J2 b5 L% k* z. D运行后显示正确答案。
1 ]6 I. C( F; b7 ?2 J% N+ k6 ?5 r光是这样不错,但是书上又来了句:5 `2 [( u% m9 ^2 B9 {- F6 E5 d
“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”* a* r) N+ f, a, n0 k& X6 k3 O
T/ ^1 v# o8 m0 n: Q然后书上贴了一段代码:
9 e, e8 F4 G8 Pclear all;4 X- x* B( G6 t a
x=[-1,0,1,2,3]';
" U. N. r* a }$ @5 l/ O! C% H- Gfor j=1:5
, G6 a+ e" S6 t! B/ V0 q0 v6 W. O A(i,j)=x(i).^(j-1);. l4 b" |0 a4 j4 e Q' |$ P
end: x& d! q+ Q. a& ]1 ?4 c6 w# a
A: r! r8 M1 F1 l2 _' k' M
书上对这段的解释是:
( Z. P+ ^; O! p9 A" P" X“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”& y1 B' H0 O4 B3 ?! h. N) _0 i! ]" K
. o, k% S/ K4 I7 }& {; l! k8 C
但是后一段我运行后出错,显示第4行出错,报错:0 H% W+ ^0 d0 M% Q1 m' _
Subscript indices must either be real positive integers or logicals.9 ]! }$ Q; s- Z, W' T/ ~# L
是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?. w7 a# W$ A8 s) |
谢谢! |
zan
|