- 在线时间
- 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 |
自学,一本教程上的一个例子:/ e* \, Z( A( ~/ N" ]9 G
编程输入范德蒙德型矩阵。$ h! W9 b4 W( `1 q
在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的
: w# d+ e+ I1 Zclear all;7 T9 ~, h. L8 q) Y
x=[-1,0,1,2,3]';/ z) J3 ^8 N {/ Q+ s/ [' A1 X
for i=1:5
T# P7 f* c1 `1 ~ for j=1:5
( N; i# u* v) _- U( [- k% d/ g8 ` A(i,j)=x(i).^(j-1);
- ^9 P% F! N9 e& E: O Y1 w) ?4 c end
4 c$ n+ r8 C+ |: o! D% e Hend
7 `: ^2 j/ j5 _3 \A
. q6 v; I. W" D$ |( X4 K运行后显示正确答案。
+ ^. T) n; A8 e光是这样不错,但是书上又来了句:
" Q1 K* t7 G7 z) V9 q" ?“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”% b! ]( K, S- _0 Y+ z. @7 R& F
0 B1 Z' f7 _3 Z, i" [然后书上贴了一段代码:
# W- o/ c2 x8 c! mclear all;! e- A; q8 V8 B- d
x=[-1,0,1,2,3]';4 R- q! ~: ^9 a
for j=1:5
; K% B* p# P! X' P A(i,j)=x(i).^(j-1);7 n: z4 y* i P( ]: j
end
6 j1 M2 P: B7 b/ V! {9 bA
# d( m# o k9 x h- S7 B. n6 u书上对这段的解释是:
- W/ `( A3 V1 f2 W& B& v; k“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”
) x$ m+ ?7 P3 x' B" G4 f3 F! F% U, _$ r( Y
但是后一段我运行后出错,显示第4行出错,报错:
# ^" e3 {, O$ R$ hSubscript indices must either be real positive integers or logicals.9 B/ W% y( k. ]1 {+ r( f6 M0 }
是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?" j* k3 e3 [* _: p# |
谢谢! |
zan
|