- 在线时间
- 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 |
自学,一本教程上的一个例子:
' ^/ ~( W! K' F/ q) y编程输入范德蒙德型矩阵。
' e- m5 v* e1 n9 {- w [3 P在MATLAB命令窗口输入以下代码: %%实际操作的时候,是输到M文件里面的
7 D5 V' N6 `9 H* H9 u6 zclear all; L: r8 ~6 u8 |% \2 f& \
x=[-1,0,1,2,3]';
! u) s& ?8 n& E. K* V' w+ Afor i=1:5
" [) b: x V/ L; v( k for j=1:5. F- U3 r: I$ b8 x9 G+ p' a" @
A(i,j)=x(i).^(j-1);
5 W1 l0 n0 V# @: m. r0 x: n3 x3 M end
# f$ u& S9 l* ~) I3 l8 `end- } b! k+ t( M: y
A
2 |3 M$ @) ]2 s) R5 g' \运行后显示正确答案。% O; T7 W5 Z5 |* [- Q) k' E' r% W
光是这样不错,但是书上又来了句:
6 B% Q: |) d8 \& k8 a, i“在实际MATLAB编程中,采用循环语句会降低其执行速度,应尽可能多地利用向量来设计程序。如上述程序可改写成以下更简明的形势:”
5 A B1 n7 h1 d# ]- T
5 b, E k; V8 C# u然后书上贴了一段代码:) |7 ], A( x }
clear all;6 G# u; z0 c/ S* \. q
x=[-1,0,1,2,3]';
5 t7 Y% M3 Z1 |3 O/ b' Dfor j=1:5
- E" J# O1 w1 g* t$ l, R \# n6 v7 ? A(i,j)=x(i).^(j-1);
5 G: P5 W( a3 F4 v* i' N- `; iend
( y$ @% x# J) A" k2 ?% T1 HA7 g! X$ l. w& R( g3 J
书上对这段的解释是: Y: Z% |$ w& `4 K2 |
“由于MATLAB支持向量运算,上述问题可以改用单循环来处理。”+ c; H1 f+ G+ W7 m
2 I* i+ y% G6 n/ D
但是后一段我运行后出错,显示第4行出错,报错:7 w# h5 @4 \) G5 c
Subscript indices must either be real positive integers or logicals.' j3 I0 \- B) K, C+ X- d8 u
是书上错了吗?如果是,那么,按照书上的那个意思,程序应该怎么改?
4 ?# T' z6 |( I1 L( U3 I' B谢谢! |
zan
|