matlab printf用法

请教各位高手,printf的简单用法:
x=0:0.1:1;
y=[x;exp(x)]; %y有两行数据
fid=fopen('my.txt','w');
fprintf(1,'%6.2f %12.8f\n',y);
fclose(fid);
在fprintf的参数里,输入“fid”则没有结果,改为‘1’就出结果
请问各位是怎么回事?不明白。谢谢!

1、第一步首先需要知道在matlab中使用sprintf函数格式化输出变量,和C语言的printf类似,在命令行窗口中输入help sprintf,可以看到sprintf函数使用方法。

2、第二步下面来看一下sprintf函数使用实例,在命令行窗口中输入a=[1.256 2.356 4.789],按回车键之后,输入sprintf('%.2f ',a),对a矩阵格式两位小数输出。

3、第三步可以看到a矩阵的元素都格式化两位小数输出。

4、第四步如果想输出字符串,可以通过sprintf('%s ',b)格式。按回车键之后,可以看到输出了字符串矩阵b。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-09
fid只是个标识,真正的结果在my.txt中,当显示为0时则表示fopen操作成功本回答被提问者采纳
第2个回答  推荐于2017-10-15
数据的格式化输出:fprintf(fid, format, variables)

按指定的格式将变量的值输出到屏幕或指定文件

fid为文件句柄,若缺省,则输出到屏幕

1 for standard output (the screen) or 2 for standard
error. If FID is omitted, output goes to the screen.

format用来指定数据输出时采用的格式

%d 整数

%e 实数:科学计算法形式

%f 实数:小数形式

%g 由系统自动选取上述两种格式之一

%s 输出字符串
第3个回答  2020-11-20

相似回答