- 在线时间
- 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 |
自学,一本教程上的一个例子:9 q8 ?' l+ i1 B }- T
编程输入范德蒙德型矩阵。6 F- h3 |% l% V: ^# Z/ `7 f
在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的0 g' w8 t3 r1 x1 \# c5 K' t
clear all;
* k6 R u/ f. s! X# t; `7 Jx=[-1,0,1,2,3]';
# X6 ~/ s# Q) n0 n0 X" ~for i=1:5
u3 ]) ^4 |) y* t8 N0 e+ m7 i, {0 d for j=1:5/ \" L& v5 X/ J1 o, x: L# C
A(i,j)=x(i).^(j-1);
! a% V1 p$ I# P end
+ b, Y: l0 |" b) [2 _end
5 k: v5 Q, Y9 ~8 [9 F6 x4 P8 I% IA& M% Z0 b5 |; f8 ?! j3 x
运行后显示正确答案。
6 f6 h+ h! s! \$ _光是这样不错,但是书上又来了句:% t% M2 d. X% F& A! O
“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”. Y' E" J6 E0 E" \0 ^& D
+ m- q- d d; K* E/ `+ W* ^7 {
然后书上贴了一段代码:3 }1 B& Z; ?7 P- o
clear all;1 Z. P; E* p3 \
x=[-1,0,1,2,3]';% \9 N2 u" ?9 p G5 i% t. _2 T( U
for j=1:5- ]0 T2 I6 ^. k$ C; @$ G. }
A(i,j)=x(i).^(j-1);% A0 F+ {) B2 K6 @6 ^2 f( Z
end/ g0 i1 ]- B7 ~3 W
A
: B; ~( l6 w' l& I书上对这段的解释是:
a# v9 L; x2 Z1 b9 C, E* a" W“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”
2 G- z* k+ G, q3 l: I
* Q. z0 v4 S' s1 E. ?* T* ^% a但是后一段我运行后出错,显示第4行出错,报错:
' ]2 Q4 ?* o% G6 Z; BSubscript indices must either be real positive integers or logicals.
0 p6 L4 U- c$ ^) c) k是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?$ ]& i& M1 ^* [9 }* k" ? S
谢谢! |
zan
|