数学建模社区-数学中国

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

作者: mezhaoyun    时间: 2009-8-10 11:49
标题: 请教matlab小问题
以下是程序设计:" \/ Q9 d; U/ u  ^
clear
; e& h% n. C$ k: @4 bx=1;, h  t  [/ y+ u
y=0;* K" o- V' r3 i8 C2 Q
format long x;y;- Q2 X/ K& q$ V1 F6 E/ I, A0 T, H
forj= 1:31
# k" Q$ l- }9 d; ?; H     y=x+y;
) t, o# k& X# k( @( F" u     fprintf('sum%g=%f\n',j,x)0 B; F+ j4 m) U% c# K2 X2 g5 Q
     x=2.*x;
- j' b6 e8 q1 _3 b$ F8 V6 oend; T6 d3 j5 j; D/ _0 f, }
fprintf('Total=%f',y)# M9 y! f  v$ L% j

1 u- A! k4 g$ j4 A! U: v( E调试后出现错误提示:
1 m, Y4 I; C) c8 ^??? Error using ==> format+ y* a, L' s4 N9 |9 y
Unknown command option.
' f3 m( O# X  i9 b5 @8 W! I2 D8 {8 q4 @# j. a
这是按照书本上来的,请问会犯这种低级错误。。2 T7 m5 X, W1 y1 y* c+ `: z1 }6 O1 |: X
有点搞不懂,还请高手指教,谢谢。
作者: 追梦者    时间: 2009-8-10 12:27
恩,你上面的程序没错,我运行了,估计是你的函数库里没有format的命令。
) a! |9 `; a- Q# f' }建议1、敲一下help format。' L$ p3 }7 D* J5 B  C! I+ R
2、将上面的程序改为
" q2 w1 n: _# Y6 l8 {: Z% ]clear
% Y0 H/ O+ t1 N7 s& p7 Z+ Z/ ]x=1;) {5 B# R1 B: t: z) M
y=0;
/ O! _' K% w/ K7 f%format long x;y;
- A0 y% H0 q$ z# n$ s  Yforj= 1:31% u& _( G/ v0 E! s
     y=x+y;
! G# C* ^9 X) b; V     fprintf('sum%g=%f\n',j,x)
, N' [, K' I& x( D. k7 [8 i6 o! v     x=2.*x;3 O, g, i( v' T: ~+ p
end
+ P, x- k4 e/ s3 }fprintf('Total=%f',y)
1 j: L% Z, M5 U* q. Z9 y! [1 e再运行一下。
作者: 追梦者    时间: 2009-8-10 12:30
对了,我运行的时候将你程序中的format long x;y;改为了format long ,你不妨试一下
作者: 陶陶    时间: 2009-8-10 12:51
虽然我不会  还是来留言  给你涨人气
作者: mezhaoyun    时间: 2009-8-10 19:19
4# 陶陶
; G! Y* C( X+ M; ~$ N$ p, T; Q4 I& C, T; i
谢谢
作者: mezhaoyun    时间: 2009-8-10 19:37
2# 追梦者 " c+ x: I0 s; X5 ?, b& T& }+ W

- E! \5 B1 M( G! I% U& T: l& C% E真的很感谢你的帮助。在帮助菜单里我查了一下,格式是没有错误的。我用的是matlab7.1,安装时跳过了3张盘,估计有些函数数据库有一定缺失。对了,按你下面的修改format long ,运行后很好,没有出现错误。呵呵,能再请教一下为什么这样修改吗?以前没用过matlab软件。还请多多指教。。不胜感激。。
作者: fc013    时间: 2009-8-10 19:58
clear
; u% |$ C1 w, rx=1;
* k) s( X% o0 A, B9 a: m( ky=0;
7 J  y/ V4 g& W- Sformat long
) `8 M# ~6 c+ ^for j= 1:319 b8 g6 z7 R1 j: O5 {
     y=x+y;3 `! b: ?4 ]; w+ O1 X
     fprintf('sum%g=%f\n',j,x)4 d. U* {4 d0 Z0 |' O' d: ?
     x=2.*x;/ x) B& M: i5 @
end: A% p8 d4 Y, J
fprintf('Total=%f',y)
作者: 552433160    时间: 2009-8-10 20:00
这样做不行,保留的小数位精度有影响
作者: 追梦者    时间: 2009-8-11 08:21
6# mezhaoyun ) v: I2 h2 F8 Q* G" D+ i
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