- 在线时间
- 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 |
自学,一本教程上的一个例子:
, s: y/ l; T. Q! s- ?编程输入范德蒙德型矩阵。$ T: \( ?$ k8 U
在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的, h) C4 r f* X1 m7 g$ w( g
clear all;3 m) e2 J- B0 C: K9 |( P$ g W
x=[-1,0,1,2,3]';4 i" y4 B D, c+ c9 @
for i=1:5) V( ~1 { ]! J* T( X; f# H! k1 p" {
for j=1:54 c4 S/ B1 X" F$ G8 W
A(i,j)=x(i).^(j-1); \1 n' m: L: T# m1 t Y
end4 i4 ^8 d2 ~* C. p$ n1 Z. l
end
! @( G. r, R& Y. X" {6 G& IA
( y* i- }4 {2 `7 q运行后显示正确答案。
" ^! B+ _& K9 ?- E光是这样不错,但是书上又来了句:4 E6 Y+ y0 t) _' N; ^' `$ W
“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”
( Y- _( L& d/ c( q* h8 p5 y) v+ ?' u: h6 H+ {: y1 W, o
然后书上贴了一段代码:1 a u+ E7 m- S3 a: I; J: D
clear all;
: H& f4 C! |* n3 Ex=[-1,0,1,2,3]';& K; G b- [! x9 {
for j=1:5- [/ W1 k0 Q5 q) t0 ]
A(i,j)=x(i).^(j-1);$ m4 D) R$ ?7 d4 h! d+ C
end. ^% o8 X D7 X7 [* G0 m) R: P
A
5 o$ z, R# A. h# {2 ?7 @书上对这段的解释是:" [5 l2 u G+ N+ ~+ |
“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”
3 j) t8 C; \0 W1 w, H/ |
3 T, b. x0 C% N2 `$ e0 N0 \! U5 u但是后一段我运行后出错,显示第4行出错,报错:
. D- ?& s4 q' h7 G5 Q' ^Subscript indices must either be real positive integers or logicals.
9 E% N2 O& J# s ^" e是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?# _# [. f* G' L' N- X
谢谢! |
zan
|