- 在线时间
- 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 |
自学,一本教程上的一个例子:
) m1 l- E( h8 t编程输入范德蒙德型矩阵。) d" M3 p. n+ v" c
在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的2 }6 v1 e+ I) G2 F! B4 Z1 W
clear all;1 I8 g( N$ W |- m" w, D" d* K: o& K7 l
x=[-1,0,1,2,3]';( P. d3 }: ]5 y2 \3 E7 E3 t
for i=1:5( A: Q# c9 e) ^
for j=1:5, z' x$ f c1 }1 C
A(i,j)=x(i).^(j-1);& |" p9 m" ]: a) C5 V- ?
end
4 h W9 `5 D- Z* q$ Dend* C3 w# g( b; K/ P
A
) E% ]* S. u: ]0 h$ a运行后显示正确答案。
. n9 z3 f% G: r, @+ Z' g: G光是这样不错,但是书上又来了句:$ m) `& f- F0 z" s* \
“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”- h4 c7 D( k& t% y7 j: t
% `. Z4 `/ h. A4 s" P然后书上贴了一段代码:7 q7 O& N. e0 [! l. X3 a
clear all;
5 ^3 z# J1 o2 {6 Px=[-1,0,1,2,3]';
7 N" u$ j$ B: i" T& Nfor j=1:5
Q. o& l- E( W x4 a- n3 @ A(i,j)=x(i).^(j-1);
4 N( d/ m/ B: X- \end0 N: i; S" @: m. [$ t2 x& ~
A
2 G* N: L+ J$ w: I. ]) v7 q书上对这段的解释是:* M4 ?; j8 d2 `; H, s
“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”
( O; w8 \) f5 _* \' R: o5 b7 @
: S V( r, l$ w9 R3 D7 r但是后一段我运行后出错,显示第4行出错,报错:1 J% J2 u; c4 O: r3 @- k
Subscript indices must either be real positive integers or logicals.8 W8 X4 l( x* [5 V4 W! w
是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?
6 ~- c9 o' K# @$ v% t谢谢! |
zan
|