数学建模社区-数学中国

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

作者: mezhaoyun    时间: 2009-8-10 11:49
标题: 请教matlab小问题
以下是程序设计:
! S' v' a9 x; i# ~$ Q9 I+ Aclear8 x, ~9 ?3 H1 i
x=1;% y( b* K  S# ]; }
y=0;
. o! e& ]' j- s8 Aformat long x;y;
+ f2 }. ^7 [: @9 q6 ~: qforj= 1:319 c5 w% f. @0 b# ?9 O. f: \
     y=x+y;: l  G3 C( i7 T6 s/ R3 O
     fprintf('sum%g=%f\n',j,x)+ W& t8 x5 h0 w) F0 P% m5 _4 d# O
     x=2.*x;
- w/ j" d$ J% m( q( {- Q& m) Jend; R) ~5 g* x& v  I
fprintf('Total=%f',y): r$ f& W* H( t) R

" N# m& M; h* {3 ~& H! }+ H调试后出现错误提示:
/ v* Y) `6 ?; o  ^0 ^( B??? Error using ==> format
- O% _0 m) k0 G( X) f+ C$ yUnknown command option.
) a! u0 `! E% V, G2 H9 j  |
' x. q* p4 u* f这是按照书本上来的,请问会犯这种低级错误。。
1 b; T2 @8 `6 O5 P2 ]+ E有点搞不懂,还请高手指教,谢谢。
作者: 追梦者    时间: 2009-8-10 12:27
恩,你上面的程序没错,我运行了,估计是你的函数库里没有format的命令。
8 A8 [6 ?4 f* Q! ^# H0 Q建议1、敲一下help format。
  I6 u6 S/ C" Y, H- R2、将上面的程序改为* |! {& k, D$ ^/ I) R7 |
clear1 [% T$ o# A. f1 b' `; L
x=1;" f; r. W4 J6 f2 r9 L4 g; O
y=0;
  Q  f. E+ u# x4 V* u0 i%format long x;y;( z) L0 i7 n1 ^% Q! b! ]- L
forj= 1:31+ r% I+ N* u8 a4 j9 ?
     y=x+y;
, M2 N% R: R0 V* h     fprintf('sum%g=%f\n',j,x)
9 S& a& h0 P" l  Z, G, R     x=2.*x;
0 X# S  D, H, U8 Y3 R8 jend/ r. j! ?8 Q& o6 h
fprintf('Total=%f',y)0 f3 Y1 U% c8 N3 q
再运行一下。
作者: 追梦者    时间: 2009-8-10 12:30
对了,我运行的时候将你程序中的format long x;y;改为了format long ,你不妨试一下
作者: 陶陶    时间: 2009-8-10 12:51
虽然我不会  还是来留言  给你涨人气
作者: mezhaoyun    时间: 2009-8-10 19:19
4# 陶陶
% o& \  P5 a0 u0 w5 S1 |2 h" W! e4 N- z" |$ j9 E
谢谢
作者: mezhaoyun    时间: 2009-8-10 19:37
2# 追梦者
! F& a' I5 ~6 K' e2 ^$ n, n0 S
7 U! p5 R4 L7 C0 Z( n7 z' |真的很感谢你的帮助。在帮助菜单里我查了一下,格式是没有错误的。我用的是matlab7.1,安装时跳过了3张盘,估计有些函数数据库有一定缺失。对了,按你下面的修改format long ,运行后很好,没有出现错误。呵呵,能再请教一下为什么这样修改吗?以前没用过matlab软件。还请多多指教。。不胜感激。。
作者: fc013    时间: 2009-8-10 19:58
clear
" y! e+ y* t' u3 Wx=1;5 b$ H. b: u- P' Q
y=0;
; `" i9 h- H% Fformat long & x7 E) \; T2 i  J; u. _0 w
for j= 1:31
5 [1 d$ u; q( m9 @# Z3 ~     y=x+y;* c! S$ S- W" Y3 q( e8 A8 }3 L
     fprintf('sum%g=%f\n',j,x)- V, m- g" E! C- z  @: J; O' J
     x=2.*x;
0 y3 @( q/ ~9 @9 k: ~: e- dend
. C5 B. Q# {0 M0 kfprintf('Total=%f',y)
作者: 552433160    时间: 2009-8-10 20:00
这样做不行,保留的小数位精度有影响
作者: 追梦者    时间: 2009-8-11 08:21
6# mezhaoyun : b+ V0 r* n3 _" `, u
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