- 在线时间
- 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 |
自学,一本教程上的一个例子:
: u: e& W, f% e: ^- D+ A1 C编程输入范德蒙德型矩阵。! H6 v; I, ]7 q2 Y
在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的
/ b& O" E( Q1 jclear all;
. ^ L6 u: ~* v( q" ~x=[-1,0,1,2,3]';6 _6 s, D) ^! X* x# E+ _ \
for i=1:5+ L; C' s* Y8 ^; ]. Q. p
for j=1:5. @9 A' i, n- }1 [- [
A(i,j)=x(i).^(j-1);$ [1 B1 [4 R. s/ {
end6 M5 m# q$ R# S: e
end
/ T- g5 T- v6 M: D0 x' e9 Q; |3 r! VA
$ e" ], b- I8 i/ R& N. q+ R$ I运行后显示正确答案。
2 _/ V3 @$ _8 e+ q1 A. N! b光是这样不错,但是书上又来了句:
3 C7 R' Q% a+ V8 Q" q- h) s“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”" \# _" y$ K! x8 t1 x
" F: W. i& [3 D h( I! w2 F
然后书上贴了一段代码:) A) _$ e1 f3 m/ a# g, r
clear all;
2 w4 L& c6 Y0 D: ~. sx=[-1,0,1,2,3]';
1 u7 H( }5 ~/ ?/ d/ p4 K! I! L7 gfor j=1:5
( H0 _3 C: ^* x' V: ~ A(i,j)=x(i).^(j-1);
/ x/ o; A+ {6 h& T# b. ^- yend0 C7 v" O. d# l: \4 V/ i+ a7 e( ~
A
9 z" B) J1 I% y4 C, [书上对这段的解释是:# {9 y3 g- k4 A0 D
“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”- W& D4 M0 P8 j5 P' V- V z5 b! e
8 n' ?5 ^" f k& _* O' h1 f5 {
但是后一段我运行后出错,显示第4行出错,报错:
- W' h! S( K+ k% T& lSubscript indices must either be real positive integers or logicals.
0 K3 g0 S2 z6 N8 t/ N是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?# n+ z, C+ y: ?) D" S
谢谢! |
zan
|