数学建模社区-数学中国

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

作者: mezhaoyun    时间: 2009-8-10 11:49
标题: 请教matlab小问题
以下是程序设计:
+ r. ^) w2 J, _! W4 A5 l  aclear7 r9 v/ I+ s/ U9 @5 s# g9 R
x=1;
0 s) ?% l  K: }* Yy=0;: t, u" P; j/ z; U  Q5 U
format long x;y;: z2 e: F) W  g8 Q
forj= 1:31
! i9 g) l* W1 o( ?6 I8 m     y=x+y;
6 F, e5 n* j9 Y4 L: v) S" W     fprintf('sum%g=%f\n',j,x)3 V, Y$ s  `6 T5 l4 g( _
     x=2.*x;! e. `! D$ o3 M
end1 _. }4 B  I/ c" s
fprintf('Total=%f',y)6 |3 x/ D9 ~, B  o) F" G7 m
# v0 T  r8 o, c7 j: h
调试后出现错误提示:
7 z: k* X4 T* e0 f3 u! T??? Error using ==> format
" t7 U$ i' b$ k. ]5 ]Unknown command option.
+ t; |2 X5 J( u# s0 _& d# _2 w
- A8 ?8 p7 z3 \" P$ C3 v这是按照书本上来的,请问会犯这种低级错误。。
+ D: i- m6 D, O& U, E( L有点搞不懂,还请高手指教,谢谢。
作者: 追梦者    时间: 2009-8-10 12:27
恩,你上面的程序没错,我运行了,估计是你的函数库里没有format的命令。
% D/ T8 v3 l+ F1 }建议1、敲一下help format。
, Q' K: z# d& e% }/ ]; W2、将上面的程序改为# D+ }8 D5 J' W8 l' R
clear
( Y1 x9 Z4 o& |& Cx=1;. E7 `" _# m; u1 w8 f7 @
y=0;
2 H0 t$ D5 x  d5 c%format long x;y;; K4 |7 f. ?  {% _
forj= 1:31. x6 U5 f) D) c" r( E! O% x' a% j6 x
     y=x+y;. B  ~3 ~+ n# q6 x% O: c; r" h
     fprintf('sum%g=%f\n',j,x)
  r1 \2 R" |3 H  G     x=2.*x;
8 T9 I2 Q  ~/ ~end
; a* L7 a1 X! Q( ?; K$ ~: Kfprintf('Total=%f',y)
# D9 ^( Z3 \1 \# `) u再运行一下。
作者: 追梦者    时间: 2009-8-10 12:30
对了,我运行的时候将你程序中的format long x;y;改为了format long ,你不妨试一下
作者: 陶陶    时间: 2009-8-10 12:51
虽然我不会  还是来留言  给你涨人气
作者: mezhaoyun    时间: 2009-8-10 19:19
4# 陶陶
7 `  W, `) x7 s- e& V. i9 n, I4 M' |5 D$ q* ^( A3 z( ?- U( Z
谢谢
作者: mezhaoyun    时间: 2009-8-10 19:37
2# 追梦者 $ V  `8 q  |  ^  U# R. d7 V
7 _- `9 Y7 D6 I. Y  [
真的很感谢你的帮助。在帮助菜单里我查了一下,格式是没有错误的。我用的是matlab7.1,安装时跳过了3张盘,估计有些函数数据库有一定缺失。对了,按你下面的修改format long ,运行后很好,没有出现错误。呵呵,能再请教一下为什么这样修改吗?以前没用过matlab软件。还请多多指教。。不胜感激。。
作者: fc013    时间: 2009-8-10 19:58
clear
* y, X: x5 J. r5 e6 Z* V/ G+ g: Mx=1;! ]) g5 Z  R" a/ }, }
y=0;1 R( x2 r% F! u& ^) d; H
format long
% U2 L! M2 m+ yfor j= 1:316 K! i4 p2 S$ t6 j5 F
     y=x+y;. s  J3 x4 p" r- f5 M1 |
     fprintf('sum%g=%f\n',j,x)
! P6 n- h8 s4 M, s     x=2.*x;
3 ]9 p0 K+ X" g2 A' |+ m* `end' M# K3 p$ Y; k4 @$ l
fprintf('Total=%f',y)
作者: 552433160    时间: 2009-8-10 20:00
这样做不行,保留的小数位精度有影响
作者: 追梦者    时间: 2009-8-11 08:21
6# mezhaoyun
( U, h, |- ]; i  c5 A& rO(∩_∩)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