- 在线时间
- 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 f8 e: q( i4 b7 }0 k2 H/ T
编程输入范德蒙德型矩阵。
0 o9 m/ z! u8 ]# c! D# S在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的/ `! q) n! `* p: z, N& {* G
clear all;' N7 X; P2 e6 |0 y) o3 ]/ n4 y
x=[-1,0,1,2,3]';
; y+ X9 ~' a2 ?2 M* }# q5 K* Z$ Sfor i=1:5
1 K% L% X4 c/ p5 A, \1 j for j=1:5
7 m! z+ \; U* J7 \ k, v( s9 h: W A(i,j)=x(i).^(j-1);! i5 K0 o+ M2 _$ o! q) a7 m
end, }7 V5 Y* u, S1 O9 ?- G8 N4 X( S; n
end' V: @& E9 q- ~1 J0 y- Y; F+ G
A
# L9 h0 Q8 r# q% \! Z+ {( T$ X+ b运行后显示正确答案。
7 C" z( u" B2 A+ E0 W光是这样不错,但是书上又来了句:+ f' F( {' {$ a
“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”
) Z0 b+ P6 I% D ^( u! ]. R9 i
+ n- y. A7 B5 h! v5 K; A8 L然后书上贴了一段代码:
* Q; C* }) p8 E4 ?0 y4 k" ]clear all;
8 W {( s+ ?% a! K* g& t1 Xx=[-1,0,1,2,3]';
9 `7 D- O9 t6 p$ s: A- ofor j=1:5
% ]7 ~& ^1 ^& q$ o A(i,j)=x(i).^(j-1);
8 _1 s% U" F. X% _) A4 a4 v; R( Mend' K! T; B% h. S0 G& r1 _2 c
A% c9 j/ B3 i* b; [
书上对这段的解释是:9 a1 c* Z; K1 Y) a F
“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”
$ }% z9 }, F: o+ `9 |7 y' A! e
6 E" v p1 e- [2 ?4 }2 C但是后一段我运行后出错,显示第4行出错,报错:' `& Q" e! Q0 i7 k
Subscript indices must either be real positive integers or logicals.
' R* V! Z! f- F7 ?是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?$ f% X$ C9 v& f" [
谢谢! |
zan
|