- 在线时间
- 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 |
自学,一本教程上的一个例子:6 X$ J+ d, C- Y2 ?# f. T& r
编程输入范德蒙德型矩阵。
5 @2 W" Q' @% Z1 v在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的! Z- A) H+ @# M+ \( y' j4 f
clear all;+ ^% n% h6 f; v/ ]3 |% N
x=[-1,0,1,2,3]';% k. R9 x% H" `& ~. X# x. c9 k2 Q
for i=1:5. }% A) {6 ~; v" X+ F7 _
for j=1:5
/ H4 |7 v/ x% { S2 ~0 M$ {( q A(i,j)=x(i).^(j-1);
* Z% ?' c( c; n+ ~) e v end: q# V2 h) F3 }. \) M
end4 O7 Q1 S& M5 ~7 m6 g2 m
A
0 F# T* z) M& H' G( D运行后显示正确答案。% R# w5 r: o/ `# Y$ ~1 _- v6 l
光是这样不错,但是书上又来了句:/ n* P, b2 y- d! o* `
“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”' Z& L+ k2 f3 {! V7 e; G
% S" z2 k+ Z; D& @% \( [6 ?
然后书上贴了一段代码:; _7 [# v: H: Y4 |2 r% \
clear all;
% E' v- `4 H9 x4 M3 V H6 a$ J2 j7 ix=[-1,0,1,2,3]';
! [' e) \# j( q/ z* Ufor j=1:5
9 ?& l, g8 r3 t& O( _6 @# p7 q A(i,j)=x(i).^(j-1);+ B$ L7 ` @, q5 `' ]
end
* ~/ t! k( a# J$ z. c6 u( D7 p( GA1 Q% A# T* l- ?6 x0 d% n
书上对这段的解释是:( O3 r! F3 x# B8 r+ |
“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”
' G1 _4 x- I; j/ s9 ~! ]& r3 P! \/ s8 P1 K) `7 f7 y
但是后一段我运行后出错,显示第4行出错,报错:
7 I) t. W0 |. I: ESubscript indices must either be real positive integers or logicals.
3 d( q% r- |9 o0 d) L! V3 C是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?
: S+ x. H4 b& u6 y5 r9 T* J谢谢! |
zan
|