print:print 函数可以把函数图形保存成图片: minbnd = -4*pi; maxbnd = 4*pi; t = minbnd:0.1 *pi:maxbnd; plot(t, sin(t), 'g', 'Linewidth', 2); line([minbnd, maxbnd], [0, 0]); %绘制 x 轴 axis([-1 0, 1 0, -2, 2])%定义显示的坐标区间:x 在(-1 0,1 0)之间, y 在(-2,2)之间 grid on; title('sin(x)'); xlabel('x'); ylabel('sin(x)'); print('-dpng','sin.png');%保存为 png 图片, 在 Matlab 当前的工作目录下 如下: 打开 Matlab 当前的工作目录下可以看到有 sin.png 图片了 print('-dpng', 'sin.png')表示保存为 png 图片, 文件名为 sin.png, 其中第一个参数可以是: -dbmp: 保存为 bmp 格式 -djpeg: 保存为 jpeg 格式 -dpng: 保存为 png 格式 -dpcx: 保存为 pcx 格式 -dpdf: 保存为 pdf 格式 -dtiff: 保存为 tiff 格式fprintf: fprintf 函数可以将数据按指定格式写入到文本文件中: data = [5, 1 , 2; 3, 7, 4]; [row, col] = size(data); for i=1 :row for j=1 :colfprintf('data(%d, %d) = %d\n', i, j, data(i, j)); %直接输出到屏幕; 类似于 C 语言的输出格式 end end fprintf(fid, format, data)中的 fid 表示由 fopen 函数打开的文件句柄,如果 fid 省略, 则直接输出在屏幕上, format 是字符串形式的输出格式,data 是要输出的数据。
其中 format 可以为: %c 单个字符 %d 有符号十进制数(%i 也可以) %u 无符号十进制数 %f 浮点数(%8.4f 表示对浮点数取8位宽度, 同时4位小数) %o 无符号八进制数 %s 字符串 %x 小写 a-f 的十六进制数 %X 大小 a-f 的十六进制数 输出到文件: data = [5, 1 , 2; 3, 7, 4]; [row, col] = size(data);%求出矩阵 data 的行数和列数 %加 t 表示按 Windows 格式输出换行, 即0xOD 0x0A, 没有 t 表示按 Linux 格式输出换行,即0x0A fid=fopen('test.txt', 'wt');%打开文件 for i=1 :row for j=1 :colfprintf(fid, '%d ', data(i, j)); %类似于 C 语言的输出格式 end fprintf(fid, '\n'); end fprintf(fid, 'This is a string\n'); fprintf(fid, '%X', hex2dec('ABCD')); fclose(fid);%最后不要忘记关闭文件! 就会在 Matlab 当前的工作目录下生成 test.txt 文件 从文件中读取: 我们可以使用 fscanf 函数fscanf: %加 t 的理由和上面一样 fid=fopen('d:\test.txt', 'rt'); %把数据读到 data 中。
因为scanf函数在读取字符串时,遇到回车、空格、制表符不会进行读取或转换fscanf函数 matlab,会舍弃掉它们以及它们后面的字符至缓冲区,最后在读取的字符后面加上&lsquo。(2)当 scanf 从缓冲区中读取数字或字符串(非单个字符)时,若缓冲区中第一个字符是空格、tab或换行这些分隔符时,scanf 会将其忽略(即不读取)并清除缓冲区的字符,继续读取下一个字符,若缓冲区为空,则继续等待。当cin>>从缓冲区中读取数据(不论是字符、数字或字符串)时,若缓冲区中第一个字符是空格、tab或换行这些分隔符时,cin>>会将其忽略并清除,继续读取下一个字符fscanf函数 matlab,若缓冲区为空,则继续等待。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-111106-1.html