- 在线时间
- 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 |
自学,一本教程上的一个例子:, N* M& N6 ~: J9 O' |- l$ V
编程输入范德蒙德型矩阵。% l o& M3 {: e& |+ s3 x
在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的
8 ]. J( }' s* X/ P+ W/ {clear all;
' ^: {. X& V7 t, C( i6 Kx=[-1,0,1,2,3]';
/ Z: |) S& Y O% D1 q6 v, p9 Tfor i=1:5
5 a7 V9 n8 X' y* ] for j=1:5, t- M" a- Z/ f9 J1 L
A(i,j)=x(i).^(j-1);
4 i! g' }3 w+ e" h1 b end* `7 s2 R9 R! O# x+ e
end3 A G1 H3 n0 m$ A7 D
A
/ T2 k6 f/ {0 Q% C1 k" A- A7 I9 P运行后显示正确答案。
9 _1 G, F: d8 K- D5 [1 M0 P光是这样不错,但是书上又来了句:3 {. w R7 D1 i
“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”
4 t3 i: }' [( N% @5 Y6 T: z
5 s% A* D* R3 O7 `' B8 m7 S然后书上贴了一段代码:
+ R% t1 l: O7 W' I: zclear all;2 D5 {' q h U9 y1 j: ?
x=[-1,0,1,2,3]';
1 `, V' C$ v( d5 X- lfor j=1:5: d) `9 m9 e; F
A(i,j)=x(i).^(j-1);
, E8 x0 R$ v4 C+ q" g1 f# \7 jend
" f1 E' E8 ]4 }( O! e- s7 wA
0 z# H7 |$ G6 {6 f书上对这段的解释是:5 y/ g' {# u, a$ z5 N
“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”* W/ W5 `1 |" A4 ^0 F5 F
: U1 c: P+ N" B. j3 R
但是后一段我运行后出错,显示第4行出错,报错:. }2 i7 O; x% K% K" n7 S1 [
Subscript indices must either be real positive integers or logicals.
/ S6 s; \- F9 ~9 G( `是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?2 `1 ?8 p, }& o* ^
谢谢! |
zan
|