mezhaoyun 发表于 2009-8-10 11:49

请教matlab小问题

以下是程序设计:
clear
x=1;
y=0;
format long x;y;
forj= 1:31
     y=x+y;
     fprintf('sum%g=%f\n',j,x)
     x=2.*x;
end
fprintf('Total=%f',y)

调试后出现错误提示:
??? Error using ==> format
Unknown command option.

这是按照书本上来的,请问会犯这种低级错误。。
有点搞不懂,还请高手指教,谢谢。

追梦者 发表于 2009-8-10 12:27

恩,你上面的程序没错,我运行了,估计是你的函数库里没有format的命令。
建议1、敲一下help format。
2、将上面的程序改为
clear
x=1;
y=0;
%format long x;y;
forj= 1:31
     y=x+y;
     fprintf('sum%g=%f\n',j,x)
     x=2.*x;
end
fprintf('Total=%f',y)
再运行一下。

追梦者 发表于 2009-8-10 12:30

对了,我运行的时候将你程序中的format long x;y;改为了format long ,你不妨试一下

陶陶 发表于 2009-8-10 12:51

虽然我不会  还是来留言  给你涨人气

mezhaoyun 发表于 2009-8-10 19:19

4# 陶陶

谢谢

mezhaoyun 发表于 2009-8-10 19:37

2# 追梦者

真的很感谢你的帮助。在帮助菜单里我查了一下,格式是没有错误的。我用的是matlab7.1,安装时跳过了3张盘,估计有些函数数据库有一定缺失。对了,按你下面的修改format long ,运行后很好,没有出现错误。呵呵,能再请教一下为什么这样修改吗?以前没用过matlab软件。还请多多指教。。不胜感激。。

fc013 发表于 2009-8-10 19:58

clear
x=1;
y=0;
format long
for j= 1:31
     y=x+y;
     fprintf('sum%g=%f\n',j,x)
     x=2.*x;
end
fprintf('Total=%f',y)

552433160 发表于 2009-8-10 20:00

这样做不行,保留的小数位精度有影响

追梦者 发表于 2009-8-11 08:21

6# mezhaoyun
O(∩_∩)O~,format 有一系列用来表示字符长度的标准,format long 只是将数值更精确些。一般在MATLAB默认状态下是format short,精度不是很高,有时做精度要求高的,就得用format long来显示。如果你要精度高的话,建议你再装一下MATLAB,O(∩_∩)O~

xiaoguo 发表于 2009-9-8 16:09

很好哈~~~~~~~~~~~
页: [1] 2
查看完整版本: 请教matlab小问题