fprintf()函数和fscanf()函数
fprintf('%6.2f\n',4.8882828388383)
运行结果:4.89
fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式为:
数据的格式化输出:fprintf(fid,format,variables)
按指定的格式将变量的值输出到屏幕或指定文件
fid为文件句柄,若缺省,则输出到屏幕
format用来指定数据输出时采用的格式
%d 整数
%e实数:科学计算法形式
%f实数:小数形式
%g由系统自动选取上述两种格式之一
%s输出字符串
fprintf(fid,format,A)
说明:fid为文件句柄,指定要写入数据的文件名,format是用来控制所写数据格式的格式符,与fscanf函数相同,A是用来存放数据的矩阵。
例1: 创建一个字符矩阵并存入磁盘,再读出赋值给另一个矩阵。
>> a='string';
>> fid=fopen('d:\char1.txt','w');
>> fprintf(fid,'%s',a);
>> fclose(fid);
================================================================================
(54条消息) Matlab使用fscanf函数读取文本数据_matlab fscanf读取某一行_植良的博客-CSDN博客
这里假设文本文件中有5*4的一组数据,使用Matlab进行读取并保存在一个矩阵中。
原数据形式如下,文件名为data123,中间使用空格隔开:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
相关程序如下:
clear %%确定所要读取的文件名以及方式 fileID = fopen('data123.txt','r'); %%确定所读取数据的格式(这里是整数,所以用%d,也可以用%f,表示浮点型数据) formatSpec = '%d %d %d %d'; %%确定数据矩阵的大小。需要注意的是,读取时是行优先,在保存时是列优先,所以在最后需要进行转置。 %%下面的4主要是指一行有四个数据。 %%这里的Inf也可以写具体的值,不过只要确定矩阵的一维,另一维就随之而定了。这里选择了Inf。 size = [4 Inf]; %%读取数据并保存在A中。 A = fscanf(fileID,formatSpec,size); %%文件读取关闭 fclose(fileID); A = A';
程序运行的结果如下:
注意:
1.formatSpec = '%d %d %d %d';该语句%d之间可以用空格或者省略,但是不能使用逗号;如果想正确使用逗号,原数据中间也必须是逗号隔开,满足对应关系。
另外,对于文本数据的操作,可以使用Notepad++,相对比较方便高效。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理