- 在线时间
- 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 |
自学,一本教程上的一个例子:5 m8 I9 W5 b( ~- O' [6 h3 p! g: e
编程输入范德蒙德型矩阵。6 l7 H. y/ \4 p8 S- K; b" M0 _* G/ h7 ?
在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的
9 O) [' D/ o0 g6 ~clear all;5 _. D G/ a0 [! T4 j3 \; |
x=[-1,0,1,2,3]';- S: |! y m% m! D+ F
for i=1:5% x. F: P* P: n) \8 U# h
for j=1:5
1 J$ s# c; a* j5 k5 l3 | A(i,j)=x(i).^(j-1);
- a. C) N; |5 g9 Z. B- v/ f: R end/ v. y1 C3 M3 l9 }# M
end
0 s7 ?3 `' V3 z4 D0 [6 iA
. }% C: _- G, S运行后显示正确答案。* R& w+ J: h2 R! f7 [( ~
光是这样不错,但是书上又来了句:' L( I- r* X: {4 B i
“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”2 C) y- c/ x; I5 d
, J( P8 J0 S9 H, v
然后书上贴了一段代码:( [' N$ p0 k/ P1 A- ?( t
clear all;4 O; ~' ~; R- \
x=[-1,0,1,2,3]';
6 r& I. W i0 ]4 V1 m! a' qfor j=1:5
5 B! G$ C# D9 { A(i,j)=x(i).^(j-1);
" D* j& u s* l; _ S Nend
8 q1 }' d* T4 cA
" N( L2 G6 q& M) M书上对这段的解释是:1 K9 E8 [/ g( a' U2 ?
“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”% T# l$ N* w7 h8 [" E5 [* C
- T3 p4 F' A: B& I
但是后一段我运行后出错,显示第4行出错,报错:, ^& S& j! q4 W6 g
Subscript indices must either be real positive integers or logicals.
& Y* \$ d0 z# O. c5 M4 |8 J9 {是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?
$ [9 e" O. E" \- ]' \谢谢! |
zan
|