数学建模社区-数学中国

标题: 请教matlab小问题 [打印本页]

作者: mezhaoyun    时间: 2009-8-10 11:49
标题: 请教matlab小问题
以下是程序设计:
! n# A; O- v% o  ~  T' E+ qclear  j7 c9 {7 M3 i" }! G( t2 t' z8 W7 z
x=1;
" F' P6 V: u! M1 ~, Ly=0;
/ Q  @: G7 s! Y2 U4 z9 _format long x;y;
$ B. y# u2 |2 t( zforj= 1:31
3 @7 J+ c7 L2 j! L2 s     y=x+y;
, n# s+ b0 J$ V9 P$ [7 H     fprintf('sum%g=%f\n',j,x)  K& u1 R* k2 r
     x=2.*x;) W  a* K3 `' N9 ~
end/ |; ]. }$ N4 d8 n4 T/ w
fprintf('Total=%f',y)
- b5 d: ^/ f- r% M* v, w0 M% c" Z! b3 Z& A3 O. c8 ^. K
调试后出现错误提示:8 V% K) d7 U& i1 X. I
??? Error using ==> format, E. I; b$ g; \) g8 h
Unknown command option.% T3 t7 d# f3 |; S  l

8 J% V: M- w! z, Y+ y# W这是按照书本上来的,请问会犯这种低级错误。。
4 Z# \' M0 }" F% v$ l& S3 {有点搞不懂,还请高手指教,谢谢。
作者: 追梦者    时间: 2009-8-10 12:27
恩,你上面的程序没错,我运行了,估计是你的函数库里没有format的命令。/ w8 F! Y1 ~+ L- ^7 a$ j0 U& ]1 ~' K
建议1、敲一下help format。5 A$ K) n0 X- ^: Q: D" j
2、将上面的程序改为$ P" N- ]- P$ ]  j5 K: ~# J
clear
& F' \4 p( [8 h! px=1;8 P* }3 f. \. Y9 m# O" ^1 d" |
y=0;
  J9 r1 ]' v2 |; Q& d%format long x;y;% F- \& m% b8 T; R* H9 }  e
forj= 1:31( D& ^2 G7 K9 C3 e
     y=x+y;& t: E1 y3 X6 Y& O2 p. O* J. J7 l
     fprintf('sum%g=%f\n',j,x): F; q$ n. [4 D8 ?# O/ |  ^
     x=2.*x;
8 U# K: J6 O$ Y' @9 {end
4 E7 L, O) h& e2 T, Y9 I2 z0 Zfprintf('Total=%f',y)
7 E0 u$ r+ u9 {: m, H& S再运行一下。
作者: 追梦者    时间: 2009-8-10 12:30
对了,我运行的时候将你程序中的format long x;y;改为了format long ,你不妨试一下
作者: 陶陶    时间: 2009-8-10 12:51
虽然我不会  还是来留言  给你涨人气
作者: mezhaoyun    时间: 2009-8-10 19:19
4# 陶陶 . K. ^1 d* o* b, a) l
; n0 f6 M  Q" {) b* D
谢谢
作者: mezhaoyun    时间: 2009-8-10 19:37
2# 追梦者
/ F9 E& [# f8 D. F8 D$ T/ p( f8 J5 y6 H  n0 }" n
真的很感谢你的帮助。在帮助菜单里我查了一下,格式是没有错误的。我用的是matlab7.1,安装时跳过了3张盘,估计有些函数数据库有一定缺失。对了,按你下面的修改format long ,运行后很好,没有出现错误。呵呵,能再请教一下为什么这样修改吗?以前没用过matlab软件。还请多多指教。。不胜感激。。
作者: fc013    时间: 2009-8-10 19:58
clear. M1 q) U! I  f; m& j- B
x=1;
+ _& P8 l; `- A6 i6 iy=0;
% U$ f1 Y$ ~, u+ M- e# Mformat long / H: f: V% i9 }2 q5 d
for j= 1:31) R( v( v* z4 K' u) ^% Q
     y=x+y;. ^6 j# z1 S' E0 Q
     fprintf('sum%g=%f\n',j,x)) l" n% K% T3 ?$ b* j( \% r
     x=2.*x;
" b4 c& i7 d1 i3 A. Yend) K3 l% R, _' g# w0 B6 f/ t
fprintf('Total=%f',y)
作者: 552433160    时间: 2009-8-10 20:00
这样做不行,保留的小数位精度有影响
作者: 追梦者    时间: 2009-8-11 08:21
6# mezhaoyun % _4 z$ a- A8 a, `( H) \$ G
O(∩_∩)O~,format 有一系列用来表示字符长度的标准,format long 只是将数值更精确些。一般在MATLAB默认状态下是format short,精度不是很高,有时做精度要求高的,就得用format long来显示。如果你要精度高的话,建议你再装一下MATLAB,O(∩_∩)O~
作者: xiaoguo    时间: 2009-9-8 16:09
很好哈~~~~~~~~~~~
作者: lengyongling    时间: 2009-9-9 18:41
经典............................




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5