- 在线时间
- 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 |
自学,一本教程上的一个例子:/ u* g- A" T( N4 O) O; M9 J8 s
编程输入范德蒙德型矩阵。) n- e" Z, B( J- B4 p/ W; r2 s
在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的: l1 ^: p0 y& x" n& z& @+ i
clear all;' P9 |6 X3 O2 ] m
x=[-1,0,1,2,3]';$ b6 c8 j% s; l) A6 z$ T
for i=1:5% ^& X4 h1 H3 Q$ I
for j=1:5
& \- @* a8 Q. f0 l' k A(i,j)=x(i).^(j-1);& g( E: A: A1 u8 @
end! L8 l0 L2 N7 i5 g& p( E/ _/ i
end; o9 g" N R7 y2 \* X
A, C. ]9 K- B r9 ^5 r' v
运行后显示正确答案。% t1 B u) {) b4 n8 e/ N8 f/ H
光是这样不错,但是书上又来了句:
" I$ D% m, l8 d$ P7 @. f$ D“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”
8 W0 G3 t, j( w+ w$ l& \/ G
' D$ T/ e+ d* e9 R1 \2 k- E然后书上贴了一段代码:
) n$ F7 [9 f- R a4 x wclear all;6 u* h# q& F, r0 \
x=[-1,0,1,2,3]';
2 u+ O5 x$ d( s' i& b4 xfor j=1:5
! x/ S% k# @& l A(i,j)=x(i).^(j-1);6 r: m6 T. u" p
end* Z+ O" [* f8 T3 P4 D2 q
A
2 r2 n( N, M3 O5 S2 q) W书上对这段的解释是:% r5 D7 A* f+ U% T K! g& I
“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”
- @1 y) e! p5 H4 [8 L# V6 L; [ s# ` Z
但是后一段我运行后出错,显示第4行出错,报错:
3 w8 D" E% W" `5 l, o3 ^Subscript indices must either be real positive integers or logicals.0 S0 ^6 a& x8 i! I4 Z6 Z
是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?
7 Z% |4 \6 N5 D7 L0 p; F# I谢谢! |
zan
|