数学建模社区-数学中国
标题:
请教matlab小问题
[打印本页]
作者:
mezhaoyun
时间:
2009-8-10 11:49
标题:
请教matlab小问题
以下是程序设计:
$ g: P/ S% L5 p+ D: g" k
clear
; M9 y( s" G+ p5 w
x=1;
' f4 v2 }) g+ W8 F: D
y=0;
# W/ F l3 ?% f% k$ \. b6 d* D
format long x;y;
/ {- ~2 e( B) r6 k& \
forj= 1:31
; k. b' y+ _3 {7 w" ^7 X' F
y=x+y;
# b2 ]$ `2 T- L p1 W
fprintf('sum%g=%f\n',j,x)
; ?# q6 M- Y2 z: |1 t5 e6 H4 F6 q' z( m
x=2.*x;
8 _% @1 `' X6 r' R. G' ]9 ~9 c6 l
end
- R# W5 T2 W! e8 q. E
fprintf('Total=%f',y)
7 R ~% U8 b# Q% U/ Z: T
/ [, G- T/ l7 c) T. S
调试后出现错误提示:
2 @0 k. C" O1 n+ r
??? Error using ==> format
& t& r$ l! Z; o: A8 G4 F9 W
Unknown command option.
/ T( g% l" ]8 q7 @% I9 M8 v+ i o
* \' G' X) o" f
这是按照书本上来的,请问会犯这种低级错误。。
+ |0 m# ~# C2 H
有点搞不懂,还请高手指教,谢谢。
作者:
追梦者
时间:
2009-8-10 12:27
恩,你上面的程序没错,我运行了,估计是你的函数库里没有format的命令。
* d% d$ l7 j3 N9 y. m7 f/ ~! W
建议1、敲一下help format。
% a# ?* g7 \8 h8 a
2、将上面的程序改为
; @1 o5 P" J8 F1 Y- _2 \6 }# m
clear
5 c/ v+ m+ U7 q
x=1;
3 d; Y; J4 Z/ ?, l: |3 h
y=0;
# ]. M3 J2 M7 O* E( H7 b
%format long x;y;
' l! o! s1 s7 W6 |/ P8 d0 G
forj= 1:31
2 s. R, U! q" h. q5 h9 w" V
y=x+y;
- J0 V3 c+ y+ f Z+ B
fprintf('sum%g=%f\n',j,x)
: c2 Y# R) y6 T* Z
x=2.*x;
6 t* ~1 w8 x9 h l- }
end
2 E1 R+ T3 @4 F% v. Z
fprintf('Total=%f',y)
+ \) H9 V' P g) A) a
再运行一下。
作者:
追梦者
时间:
2009-8-10 12:30
对了,我运行的时候将你程序中的format long x;y;改为了format long ,你不妨试一下
作者:
陶陶
时间:
2009-8-10 12:51
虽然我不会 还是来留言 给你涨人气
作者:
mezhaoyun
时间:
2009-8-10 19:19
4#
陶陶
0 ]4 Q R1 E. w( g/ a( S& V
# ?; \0 T# v( B; t, m' S+ Y
谢谢
作者:
mezhaoyun
时间:
2009-8-10 19:37
2#
追梦者
. m& U& A* K7 `4 K( l' `
2 u" w! D) J4 @& _- h( [
真的很感谢你的帮助。在帮助菜单里我查了一下,格式是没有错误的。我用的是matlab7.1,安装时跳过了3张盘,估计有些函数数据库有一定缺失。对了,按你下面的修改format long ,运行后很好,没有出现错误。呵呵,能再请教一下为什么这样修改吗?以前没用过matlab软件。还请多多指教。。不胜感激。。
作者:
fc013
时间:
2009-8-10 19:58
clear
u' ?- P, T' e7 \3 T* U, p3 q
x=1;
' r( Q9 v# Y2 G x
y=0;
# q, f- K: R+ |- U" c* l8 y( o
format long
$ a3 D+ _/ o6 P1 p6 W3 s( t1 F
for j= 1:31
1 Q9 _ a& H9 O0 u
y=x+y;
( b0 L; O+ q- x/ n H
fprintf('sum%g=%f\n',j,x)
: E; L& E( _7 x, F. _' f
x=2.*x;
- H7 l4 x. t: C1 T$ O0 ]# f# U8 @
end
1 k4 Z$ I7 j: t8 m# b' N2 w; g
fprintf('Total=%f',y)
作者:
552433160
时间:
2009-8-10 20:00
这样做不行,保留的小数位精度有影响
作者:
追梦者
时间:
2009-8-11 08:21
6#
mezhaoyun
; L+ t% P/ l$ Q" n K/ k$ J) n+ 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