数学建模社区-数学中国

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

作者: mezhaoyun    时间: 2009-8-10 11:49
标题: 请教matlab小问题
以下是程序设计:
2 H1 Z& x2 ]1 O7 s& B% ~clear
! z5 \9 p6 u" \! D' ax=1;
' [4 s% ]! H/ v! ]4 j) @6 ~- oy=0;7 ]. @4 |& v5 W% t! ~3 n8 Z
format long x;y;9 ~4 b: m3 z1 Q) J1 A; T  x
forj= 1:31
$ f, w6 [) ]% G5 i. C     y=x+y;( t1 ?" P, N0 o! l% M# U
     fprintf('sum%g=%f\n',j,x)
( F$ y7 }- w4 Y7 H# m# ?% I     x=2.*x;
( P' s; q' m3 ?6 ]  `! z  Yend; Y  M: f1 L6 n2 ]) @% P
fprintf('Total=%f',y)
5 X" q9 {/ C0 |8 }/ n' M) {8 y. E5 ?# c! j8 `# f
调试后出现错误提示:
  W" a' T  U4 b; U' Z3 M??? Error using ==> format9 ~( E1 ?2 T6 C2 E, R) v! I% O5 V
Unknown command option.
: C# o* ], E1 F- }, N6 m) E6 g: g+ o7 V* F  ]. A+ ]- t
这是按照书本上来的,请问会犯这种低级错误。。
& r7 `! [& j; A: x有点搞不懂,还请高手指教,谢谢。
作者: 追梦者    时间: 2009-8-10 12:27
恩,你上面的程序没错,我运行了,估计是你的函数库里没有format的命令。" W1 b7 \3 K$ ]: N! }$ `0 @! _9 b; K
建议1、敲一下help format。
2 a" ~4 N8 c% T9 Y/ @! z2、将上面的程序改为
& J) }  S( E% r; z- qclear
# y5 G. U9 O1 J2 Qx=1;
3 B) v" E: M$ x7 D3 I$ vy=0;; \6 @. U. M& A
%format long x;y;) J5 a5 u& H; D- D# F/ ^
forj= 1:318 K* ^# l# s' Q1 ^& @) B
     y=x+y;
( \1 Y' ^+ X$ [' N7 Z1 [, @     fprintf('sum%g=%f\n',j,x)% X3 n) N' ~6 o# ^
     x=2.*x;
% b/ K8 e7 `: h2 C7 s$ _end
9 ~+ r, J! a5 F5 t% j% w! Z1 A& k/ P9 zfprintf('Total=%f',y)! o# R2 z9 A- x0 q
再运行一下。
作者: 追梦者    时间: 2009-8-10 12:30
对了,我运行的时候将你程序中的format long x;y;改为了format long ,你不妨试一下
作者: 陶陶    时间: 2009-8-10 12:51
虽然我不会  还是来留言  给你涨人气
作者: mezhaoyun    时间: 2009-8-10 19:19
4# 陶陶
3 b9 p' Y  T/ T* A6 [3 r
2 P. f/ T' f6 \$ o) L谢谢
作者: mezhaoyun    时间: 2009-8-10 19:37
2# 追梦者
3 s, U/ a% {) U
" w* p! j. d4 B* o' C/ F- h4 X+ L真的很感谢你的帮助。在帮助菜单里我查了一下,格式是没有错误的。我用的是matlab7.1,安装时跳过了3张盘,估计有些函数数据库有一定缺失。对了,按你下面的修改format long ,运行后很好,没有出现错误。呵呵,能再请教一下为什么这样修改吗?以前没用过matlab软件。还请多多指教。。不胜感激。。
作者: fc013    时间: 2009-8-10 19:58
clear
/ k; `# T6 S7 }+ hx=1;
9 s' O5 `/ x3 ^4 W. Oy=0;
( v( ?& k6 K5 b) Y* y% U; Z% M, k' F/ _format long
% p9 s6 t! @# @for j= 1:310 p8 W, a2 }5 v3 p  |, n3 p4 v
     y=x+y;, ]( o/ k/ A7 H9 y* p/ V
     fprintf('sum%g=%f\n',j,x)
7 B; g, {6 `$ J/ g/ H( j8 A     x=2.*x;- ^+ B* Q) ]( P
end# J4 h4 v* A& b% ]2 w4 M
fprintf('Total=%f',y)
作者: 552433160    时间: 2009-8-10 20:00
这样做不行,保留的小数位精度有影响
作者: 追梦者    时间: 2009-8-11 08:21
6# mezhaoyun " w  b9 B3 I: S, X0 g! X$ L
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