- 在线时间
- 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 |
自学,一本教程上的一个例子:
d% u! V+ x8 n; E/ m8 \编程输入范德蒙德型矩阵。/ ^4 |& N/ L5 U" c0 b
在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的, r, f$ b$ I( u6 @
clear all;2 K- Z7 Z$ F/ L* q& n
x=[-1,0,1,2,3]';
1 C# P$ W3 H. e8 |) }5 w4 nfor i=1:5
" m6 U2 v, p5 I' |0 e I9 i for j=1:5/ ^6 a8 |) m1 E) s1 ~
A(i,j)=x(i).^(j-1);' L5 v) h4 S- L2 P+ c8 d
end' b: [5 P- L1 Z) d1 z( w5 ~7 ~
end$ E/ [$ M3 \0 E. F1 V
A
9 f- K+ d" d# ~% h" r: x运行后显示正确答案。
4 q" q$ O1 L; z# m光是这样不错,但是书上又来了句:$ ~' T* D( o- m+ d' A: P5 G
“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”
6 [/ q$ U1 t. {6 S j" d
% ~) a7 l6 _; |: n* ?9 u然后书上贴了一段代码:
% f1 \; S7 u- k: z/ `* \0 ?) R4 Cclear all;4 D! x8 D6 l3 f& R$ d
x=[-1,0,1,2,3]';. T/ t9 N% M6 S7 K8 {7 O) [
for j=1:5
/ A; b' o- \' O' _( k U- [3 O8 @9 ? A(i,j)=x(i).^(j-1);; E- c+ y, K4 c
end3 Z. l" ~! {% K! ^ M0 v, q
A$ E% w* ^% C) y5 g( |6 F5 |& O
书上对这段的解释是:4 ]3 l) X4 W7 p$ u- N' @
“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”
: x9 H3 u( \* D( I3 H' k4 R
/ i' p' v! q$ L/ B6 y但是后一段我运行后出错,显示第4行出错,报错:2 X/ }: M1 P2 G4 A1 `
Subscript indices must either be real positive integers or logicals.
2 k$ @" b6 i. h' v是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?
5 {8 ^" I5 m% V4 l1 o谢谢! |
zan
|