- 在线时间
- 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 o9 {' V2 Y. A3 H% P" W
编程输入范德蒙德型矩阵。, g' z& I+ J) e9 u; ~8 a+ u* R
在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的( u3 O( K4 |) ~7 S1 ^9 p9 q) p
clear all;: a6 ^% L: l& q* _5 c" D
x=[-1,0,1,2,3]';' y& O2 j5 ^) q% L; l7 H2 M
for i=1:58 {; h# M1 [0 K9 K% x1 D; X5 v. G
for j=1:5
3 B. `" {0 y" F9 |- q" k& }, k A(i,j)=x(i).^(j-1);
! w$ P/ a. g' I/ P0 X0 b end) R2 c0 Z, \: i# @" e
end9 g. \% `! Y7 r& k
A4 R# _: J' O9 Y4 j. @- Q) k
运行后显示正确答案。% j0 e1 y' N7 X* @+ l
光是这样不错,但是书上又来了句:
; j9 F: R8 z7 g( ]6 K; G“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”* x! f2 u4 k; g, j: p$ b6 q5 x
. ]+ m' f, m- T3 a/ f; n
然后书上贴了一段代码:9 }: c8 D; u7 P' J* g+ h; e
clear all;+ E) w9 T( s2 y* {% b' y
x=[-1,0,1,2,3]';
. {6 o8 @$ z9 U" A+ Y, U5 R' sfor j=1:5
5 J: k0 D/ N& Z! w A(i,j)=x(i).^(j-1);
' X$ W: T2 |1 \4 A. Oend
a6 l, g3 K1 K: I/ P7 gA }) \' `6 c" I( C6 Z( F; l4 D
书上对这段的解释是:
! L0 B# Q; j' s$ U; F0 w9 l. Y( t“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”
6 f' {/ H5 }/ |7 U; p7 N& ^5 D3 a" \5 v6 m4 ?+ `. x" t
但是后一段我运行后出错,显示第4行出错,报错:3 ^5 v0 _# x' m
Subscript indices must either be real positive integers or logicals.
8 {% h) J+ V. _8 o7 R. u! \& @是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?% @0 P3 a. K! p2 n" C
谢谢! |
zan
|