- 在线时间
- 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 |
自学,一本教程上的一个例子:
) }2 r# N7 m# r* z) Z编程输入范德蒙德型矩阵。/ W8 H) o* D) Z$ g/ U, N2 v( b
在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的/ U. E8 s7 C+ r9 |2 e
clear all;) N$ O4 b. Z0 l4 ]
x=[-1,0,1,2,3]';, y1 e- S G, Y* K
for i=1:58 \6 F; C2 w" A9 I+ q; y1 d
for j=1:5
% f* O+ e1 g$ N8 h9 T/ e: x A(i,j)=x(i).^(j-1);' L: I$ C$ }" h+ w, X# B) s
end3 L) `3 a7 p: m% K" h" R r, V
end
/ |3 ~$ n; e, w3 X2 r8 oA" ]8 F4 Y" [# z" F( b
运行后显示正确答案。9 d8 i9 } q* x" P" n
光是这样不错,但是书上又来了句:, h+ j; ?7 \8 g5 ~# s: o
“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”4 P8 \+ l' ~/ K% ^# c
3 C5 l! k( Y- Y7 j+ P8 }
然后书上贴了一段代码:
0 \% d/ e9 `% [1 ?1 ~: iclear all;
6 J8 x& ]9 W: a, E3 p# Tx=[-1,0,1,2,3]';: \& ]4 l/ v5 ]
for j=1:54 Z7 b% [( u! \* ?# z. J; p
A(i,j)=x(i).^(j-1);
3 [1 l- r. n. u' a; tend* b% B" K" N. |3 X+ D; j
A9 V3 i, h4 G* C+ {: R
书上对这段的解释是:2 t( r# h8 A' X. }& T6 k/ S$ k
“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”4 B& ?* u4 [# B" _+ v8 Q: r
6 _) k! M3 {; R0 \- D; b9 S0 S但是后一段我运行后出错,显示第4行出错,报错:
0 X- d; X. k9 tSubscript indices must either be real positive integers or logicals.
% Z: T# g; A+ Y! L3 g是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?5 l, E6 `+ b, J3 P7 ~- X
谢谢! |
zan
|