数学建模社区-数学中国

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

作者: mezhaoyun    时间: 2009-8-10 11:49
标题: 请教matlab小问题
以下是程序设计:2 |& D$ E; n/ T- |& i1 t
clear
. ?& a2 B" G( g2 r. q& Ex=1;
9 h; M0 n" F3 C: }8 j. _3 ?y=0;
( F# Z5 s7 W6 B8 w1 rformat long x;y;: f; z5 u/ ~' {9 e" C
forj= 1:31
3 [- q( \; T1 n( N0 D& v     y=x+y;: D, ?$ d6 S% s- N: C+ G
     fprintf('sum%g=%f\n',j,x)" O& z, [8 q( p$ q$ S* U
     x=2.*x;
; G5 @% I, T6 E1 S! ~9 }8 j2 E, Z1 wend; _: b7 h  o; p( q7 y- d; F7 p
fprintf('Total=%f',y)
9 }: B/ l$ x# ~# i; \6 v1 g, G7 c- \9 `0 n; _
调试后出现错误提示:- q4 p3 ~# d8 e4 g' ?0 X
??? Error using ==> format8 |, h, n/ Q* i" e" Y4 {
Unknown command option.( Q; u. s  U; @

3 l( B+ j* [+ k' ]9 f3 s1 x这是按照书本上来的,请问会犯这种低级错误。。9 m6 ~& R; d, u& x' e8 F1 @: @& T
有点搞不懂,还请高手指教,谢谢。
作者: 追梦者    时间: 2009-8-10 12:27
恩,你上面的程序没错,我运行了,估计是你的函数库里没有format的命令。
, C& U  [: x6 o/ i$ ^* l0 k4 G2 `建议1、敲一下help format。* w8 g0 T7 N3 \/ v- g: h
2、将上面的程序改为
1 ~2 o% k+ a/ V) }" [1 g1 cclear  u& Y8 o  K7 J& j. I
x=1;
% d3 T( `; P* B0 n$ _0 F& [y=0;  J; b' {& u! o+ K2 Q8 o1 N4 Y1 [. g
%format long x;y;2 k9 _! }* D. D
forj= 1:31
, {, q1 O6 [8 R! f( l     y=x+y;
. T( q; n& Y: f8 r     fprintf('sum%g=%f\n',j,x)
* |( r: `8 j3 C0 f9 }0 y     x=2.*x;) F" H7 j2 D5 Z: ?2 ?
end: t! i' X; N! T  C$ f
fprintf('Total=%f',y)
/ |. k: Q9 e# z/ w  C再运行一下。
作者: 追梦者    时间: 2009-8-10 12:30
对了,我运行的时候将你程序中的format long x;y;改为了format long ,你不妨试一下
作者: 陶陶    时间: 2009-8-10 12:51
虽然我不会  还是来留言  给你涨人气
作者: mezhaoyun    时间: 2009-8-10 19:19
4# 陶陶
) Y6 i2 n. m/ b+ I& l# M+ @9 A: ~8 `! \& @( z! ~
谢谢
作者: mezhaoyun    时间: 2009-8-10 19:37
2# 追梦者 % s' T; S$ _9 k( x: D
; Z7 s' g7 h/ m! t1 V
真的很感谢你的帮助。在帮助菜单里我查了一下,格式是没有错误的。我用的是matlab7.1,安装时跳过了3张盘,估计有些函数数据库有一定缺失。对了,按你下面的修改format long ,运行后很好,没有出现错误。呵呵,能再请教一下为什么这样修改吗?以前没用过matlab软件。还请多多指教。。不胜感激。。
作者: fc013    时间: 2009-8-10 19:58
clear
0 z3 s5 [1 R* B+ I; @1 Lx=1;* a: {$ u/ \% N  A( q; F8 \& P4 p
y=0;
2 ?) s( a3 \/ T! ^2 H5 Qformat long : E/ M. I/ }$ Y1 j
for j= 1:31  |. |1 y4 X0 v5 L. r2 C% i! ]4 D6 d
     y=x+y;
2 x& O( g! ]) u8 |     fprintf('sum%g=%f\n',j,x)) F- z( ]0 n7 V$ u$ R# q+ c
     x=2.*x;
# K' H* D; {  F+ S& o- m& _end
, h# V% }" V% n; @0 [# \fprintf('Total=%f',y)
作者: 552433160    时间: 2009-8-10 20:00
这样做不行,保留的小数位精度有影响
作者: 追梦者    时间: 2009-8-11 08:21
6# mezhaoyun
3 q# ]2 i; c9 M" a. IO(∩_∩)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