- 在线时间
- 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 |
自学,一本教程上的一个例子:! o* \7 }6 Z- |2 \& @
编程输入范德蒙德型矩阵。
$ L5 t+ h8 f: H. q在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的. F" k5 p @7 W' L
clear all;
! S# f: x) V/ E6 d* Zx=[-1,0,1,2,3]';
8 }0 Q5 R; t& s2 @( y! Afor i=1:5
- |9 w7 u( R' | for j=1:5" g. L) D5 K8 i6 F r; \$ k' S
A(i,j)=x(i).^(j-1);
" S# ^) i. k# Y. V, v end
3 f3 b; {0 F9 g* V$ C8 j# }end
9 g9 K6 m2 f$ e8 RA# f8 f' y& u3 F' J2 T( W
运行后显示正确答案。8 p5 ^% E: k* f6 X9 b0 ~
光是这样不错,但是书上又来了句:2 J- n. J( ^$ ]3 N' F
“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”( r+ F" K |& d' q. @9 |& t6 w7 X
) {3 v/ `: B9 z
然后书上贴了一段代码:
5 o) w* t# B5 D- {5 C2 f9 qclear all;
* t" w5 E9 a8 R- ~9 }, z# z, a! Ax=[-1,0,1,2,3]';
" [& o8 C" h# q# N+ j: F2 mfor j=1:5
( W8 u$ G! A+ a A(i,j)=x(i).^(j-1);
7 I* \; @; U' U9 }. a2 A2 yend0 t' g7 z3 f" ]; g* \
A1 a3 B+ }1 n2 z% s1 b
书上对这段的解释是:
/ H0 B. B8 n; S# W M“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”
% x s2 K5 S1 ]. ^* P& z7 q: _0 k5 b% R3 u
但是后一段我运行后出错,显示第4行出错,报错:' c3 d* l0 Z m7 h g2 d( E5 E+ i5 w
Subscript indices must either be real positive integers or logicals., H3 n8 v4 x( g/ Y: M6 w
是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?
, X' r1 b/ [; p5 u谢谢! |
zan
|