数学建模社区-数学中国

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

作者: mezhaoyun    时间: 2009-8-10 11:49
标题: 请教matlab小问题
以下是程序设计:9 l% a$ J* u* n& z" P$ m7 O7 i
clear4 N, ~0 T. o( ]; S+ |# L7 A9 J
x=1;- a, Q# n% b8 @
y=0;' r, V, z' C+ p) X' k$ {
format long x;y;
# q6 ~$ w. Q6 t  |/ pforj= 1:31
0 i5 x5 s, m6 X# l8 \/ j  L     y=x+y;3 j+ U+ h& D  n1 ]* z# s+ \; O
     fprintf('sum%g=%f\n',j,x): w4 c6 b9 T) p- V& }/ j" @6 l
     x=2.*x;
) Q" i: `, ^/ Qend
3 J8 E4 [7 [. p* h1 N+ o! N% g) Sfprintf('Total=%f',y)
* l3 r- u8 j1 w/ d; W' e7 ^2 x: c3 c5 Z# B& @) X
调试后出现错误提示:) V( ?& |3 l9 J" h( F3 Q0 o
??? Error using ==> format
+ g+ d2 ]6 ^" ~9 b% mUnknown command option.9 W) ]* i* n, u9 \* f" H# i
2 U; @# d, Z; n* c# J
这是按照书本上来的,请问会犯这种低级错误。。
* [/ }; d4 x. ~. @4 n有点搞不懂,还请高手指教,谢谢。
作者: 追梦者    时间: 2009-8-10 12:27
恩,你上面的程序没错,我运行了,估计是你的函数库里没有format的命令。7 O0 D2 S9 g( @- m: W
建议1、敲一下help format。
) t8 k) ^  V, m. L/ @2、将上面的程序改为
( g8 r& l# \7 p# ~8 O! Rclear
5 ~. \% [: o: ox=1;
; f- `4 r$ A; my=0;! n) k9 S6 y. ?4 b! k, a
%format long x;y;
2 v( ?( c* p# xforj= 1:31
( Q# L# q& E9 `/ d& I1 l! d     y=x+y;) i* k) }3 D* x# z$ p4 i2 {9 a
     fprintf('sum%g=%f\n',j,x)
! n0 ~' s8 U* P8 I     x=2.*x;
2 F6 _& z0 E8 \end" S  f6 V  I& n& V
fprintf('Total=%f',y)8 B% J5 M9 h. T
再运行一下。
作者: 追梦者    时间: 2009-8-10 12:30
对了,我运行的时候将你程序中的format long x;y;改为了format long ,你不妨试一下
作者: 陶陶    时间: 2009-8-10 12:51
虽然我不会  还是来留言  给你涨人气
作者: mezhaoyun    时间: 2009-8-10 19:19
4# 陶陶
4 i& a) S2 b& p5 V5 V
/ a$ o' r; E( h7 n& y' d谢谢
作者: mezhaoyun    时间: 2009-8-10 19:37
2# 追梦者 9 ]: q9 _8 R4 g+ K
$ |% \+ x) o/ K: H" M$ T/ A
真的很感谢你的帮助。在帮助菜单里我查了一下,格式是没有错误的。我用的是matlab7.1,安装时跳过了3张盘,估计有些函数数据库有一定缺失。对了,按你下面的修改format long ,运行后很好,没有出现错误。呵呵,能再请教一下为什么这样修改吗?以前没用过matlab软件。还请多多指教。。不胜感激。。
作者: fc013    时间: 2009-8-10 19:58
clear9 M/ i# ^  H6 n1 o% q. J
x=1;& S" O- Q2 n* ^* ~/ K8 U1 k
y=0;; |* \& r. v* a3 w& {' N
format long
6 X& i& Z: J; B$ B( L& @" ffor j= 1:31
! Y8 y* f- U0 S1 _9 `' r* x  J     y=x+y;
* @7 ^& l/ M7 B' u) ]. M     fprintf('sum%g=%f\n',j,x)
  h: D" S& [& v+ I4 ~     x=2.*x;) @# ~$ K( q3 T
end! \% ], Y* X2 j" ^/ f; b% i
fprintf('Total=%f',y)
作者: 552433160    时间: 2009-8-10 20:00
这样做不行,保留的小数位精度有影响
作者: 追梦者    时间: 2009-8-11 08:21
6# mezhaoyun
' L& z" j3 B/ N: w- DO(∩_∩)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