数学建模社区-数学中国
标题:
<求助>新手自学问题
[打印本页]
作者:
yazjy
时间:
2012-9-4 21:53
标题:
<求助>新手自学问题
自学,一本教程上的一个例子:
* ]9 H+ k2 E, f8 t' l$ _
编程输入范德蒙德型矩阵。
4 _$ G4 f/ `* ~
在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的
) c! }) ]+ e* Q
clear all;
{" q. M7 N6 P6 A: M
x=[-1,0,1,2,3]';
7 f) r: _# V( h
for i=1:5
+ m1 ~, V: Y* t/ D, r' z9 q' c
for j=1:5
" P7 a! k9 {$ k7 O. P; ^
A(i,j)=x(i).^(j-1);
+ u9 s! O3 O$ U# x0 x/ m5 x3 p! x
end
/ i! C2 y/ t3 V$ V! T" d
end
6 \' Q% P7 V% L1 c/ J$ k
A
* T/ |- v3 D( M7 l
运行后显示正确答案。
+ g; x+ o- l, r+ s. c+ c
光是这样不错,但是书上又来了句:
' r" d2 C% @. U! X. g. Y
“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”
* E; d' A- X2 {& R" E
+ \& A% z; W5 o. h
然后书上贴了一段代码:
% ^- G9 J; Q5 z# u5 X5 ~
clear all;
+ B0 t2 L# L; K9 p. F- D
x=[-1,0,1,2,3]';
7 u6 ^5 `# p8 L2 S8 x2 v& Q
for j=1:5
9 ]+ ~9 Y$ V7 Q6 z( k) l
A(i,j)=x(i).^(j-1);
6 p- v! V) I. S& h# x. T
end
' J' F& r6 m5 r& \5 s
A
/ A8 H0 T9 I/ J
书上对这段的解释是:
0 N2 Q9 k; ?8 _& R6 j
“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”
9 c: O" }& K' T1 `) w4 T
( g$ z- C5 m$ o0 @+ t7 R- m
但是后一段我运行后出错,显示第4行出错,报错:
3 s$ r( V5 [; m1 A4 T
Subscript indices must either be real positive integers or logicals.
+ R: ?& }. J$ C, [. T$ L
是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?
6 o# D! _/ A8 R3 j( d
谢谢!
作者:
yazjy
时间:
2012-9-4 21:54
后一段第4行写错,书上的是:A(i,j)=x(i)^(j-1);
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5