0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MATLAB课程之第五章v2 文件操作(4)

通信工程师专辑 来源:未知 2023-09-02 10:50 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

wKgZomTypAWAVZi4AAVu44EZlQ0337.png

数字信号处理领域,很多数据的保存形式都是文本文件!有了数据,这样就可以在计算机中完成半实物仿真了!什么是半实物仿真?就是仿真出来的结果基本和产品一致!那还有什么仿真?理论仿真!这个阶段的仿真只是用于验证理论是否可行!大家以后到了企业,必然会接触到这些概念!

wKgZomTypAaAa1FnAAAHCaxgszk552.gif

注意!

If you plan to read the file with Microsoft Notepad, use ' ' instead of ' ' to move to a new line.

举例:如何把成绩单里面的成绩从高到低排列呢?

这可是日常工作中经常遇到的哦。学以致用!举例说明!

file_fid3 = fopen('d:score.txt','r'); % 读取成绩文件

for i = 1:5

data1_name(i) = fscanf(file_fid3 ,'%s',1);

data1_score(i) = fscanf(file_fid3 ,'%d',1);

end

fclose(file_fid3);

% 读取数据成功后,进行成绩排序。

[data2_score , score_index] = sort(data1_score,'descend');

file_fid4 = fopen('d:score_sort.txt','w');

for i = 1:5

fprintf(file_fid4,'%6s %d ',student_name(score_index(i)), data2_score(i));

end

fclose(file_fid4);

wKgZomTypAaAbTZ4AAFfhTvkZpQ308.png

那要怎样才能读取呢?必须使用fscanf函数!还有其他读取文件的方式吗?有!!!

A = readmatrix(filename)

通过从文件中读取列向数据来创建数组。readmatrix 函数可自动检测文件的导入参数。这个函数原来用途这么广啊?大家已经在前面的文章中多次见到了!

readmatrix 基于文件的扩展名确定文件格式:

.txt、.dat 或 .csv(适用于带分隔符的文本文件)

.xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx 或 .ods(适用于电子表格文件)

对于包含数值和文本混合数据的文件,默认情况下,readmatrix 将数据作为数值数组导入。这么好用的函数,大家一定要记住用法哦!

wKgZomTypAaAa1FnAAAHCaxgszk552.gif

文件知识!

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。

通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本来开启,再则先另存新档后用EXCEL开启,也是方法之一。

.dat并不是一种标准文件。许多文件都使用这个扩展名,但文件含义不同。而许多数据分析软件也用这个扩展名保存数据。所以这要看具体的软件情况来定。

wKgZomTypAaAa1FnAAAHCaxgszk552.gif

现在我首推使用readmatrix函数!

wKgZomTypAaAfQxCAAEkZA5wqtM057.png

wKgZomTypAaABIWwAALrnCIDXcw760.png

语法!

A = readmatrix(filename)

从文件中读取矩阵。readmatrix 基于文件的扩展名确定文件格式:.txt、.dat 或 .csv(适用于带分隔符的文本文件)、.xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx 或 .ods(适用于电子表格文件)

readmatrix第一个参数是文件名。第二个参数指输出类型。如果不带这个参数,那么遇到字符串输出的结果是Nan值。本人非常喜欢用这个函数,简单直接和强大!

csvread函数还没有用过!文件的操作会涉及哪些函数呢?可以总结一下了。课程只是讲解了fopen和fwrite函数,那么fprintf和fclose函数呢?先一起来看看程序吧。实际编写操作是王道。这个程序可是学生写的哦!现在的他早已经毕业,也不知从事什么工作?多么希望我能多培养一些研发人员啊!科技进步才能真正改变世界!

wKgZomTypAaAXB-kAAAHCaxgszk291.gif

回顾过往!

wKgZomTypAaAUP1gAABaXH60_yQ781.png

wKgZomTypAaAXB-kAAAHCaxgszk291.gif

wKgZomTypAaAQjQpAACuY-fhqFg808.jpg

wKgZomTypAaAXB-kAAAHCaxgszk291.gif

这是当年上我课的大一学生写的。他从最开始几乎不懂编程,到慢慢的能够入门。说明他很勤奋!就需要这样一步一步的实践,才能把工科之路走踏实了!大一的小李同学课后坚持学习,从最开始连简单的程序都看不懂,到后来慢慢的可以跟着我的步伐写程序,再到独立写程序了。很棒!但是他的英语底子很薄弱,一直没有补起来。这是一个遗憾,我当年一直想帮他补习英语,坚持了两周后,他放弃了。非常可惜!

学习就是这样的过程。从不懂到懂肯定需要花很多功夫。光靠看别人的程序就想提升自己?基本不可能。

那是做梦!

wKgZomTypAaAXB-kAAAHCaxgszk291.gif

wKgZomTypAeAQdqcAAD_xGsk4FQ565.png

了解工科类专业的学习方法!

wKgZomTypAaAa1FnAAAHCaxgszk552.gif

wKgZomTypAeARZDLAAouw5gO9Tg155.png

wKgZomTypAaAa1FnAAAHCaxgszk552.gif

继续看视频吧!

接着让自己脑洞大开!第四天,继续直播讲课!后续还会讲,有十几节课呢。

未完,待续!

wKgZomTypAeAAXtJAAAgWrkkT7Y110.gif

修订记录

20230418 完成初稿;

20230831 修订内容v2;


原文标题:MATLAB课程之第五章v2 文件操作(4)

文章出处:【微信公众号:通信工程师专辑】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信网络
    +关注

    关注

    22

    文章

    2098

    浏览量

    53992
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【「高速数字设计(基础篇)」阅读体验】第五章 去耦电容

    最近在啃《高速数字设计》,第五章“去耦电容:远交近攻”把高速电路里电源噪声的问题讲透了,对于做硬件设计的同学来说,这简直是“电源完整性”的入门必读。 为啥去耦电容是刚需? 数字IC切换逻辑状态
    发表于 11-19 20:35

    第五章 W55MH32 UDP示例

    本文介绍了在 W55MH32 芯片上实现 UDP 通信及数据回环测试的方法。阐述了 UDP 协议的概念、特点、应用场景、报文传输流程和报文结构,展示了实现过程,借助网络调试工具完成测试。
    的头像 发表于 07-24 09:13 651次阅读
    <b class='flag-5'>第五章</b> W55MH32 UDP示例

    【「DeepSeek 核心技术揭秘」阅读体验】--全书概览

    讲解Deepseek的使用方法 第三 深入剖析Deepseek-V3的模型架构、训练框架、推理阶段优化、后训练优化等关键技术 第四关于DeepSeek-R1的技术剖析 第五章
    发表于 07-21 00:04

    RDMA简介5之RoCE V2队列分析

    (RDMA Write with immediate)操作不在此范围内)。RoCE v2作为RoCE v2协议通信的重要机制,通常有种队列工作状态,分别为:重置(RESET)状态、初
    发表于 06-05 17:28

    RDMA简介4之ROcE V2初析

    RoCE v2原语 (1)RDMA READ操作将远端主机内存中的数据读取到本地。具体流程为:本地主机将需要请求数据的地址、长度及对应的远程访问密钥发送给远程主机,远程主机比对密钥通过后,则将数据
    发表于 06-05 15:20

    【「# 运算放大器参数解析与LTspice应用仿真」阅读体验】+Ltspice实践:电流测量电路仿真

    书中第三介绍了跨阻放大器,这是微小电流测量常用方案,第五章介绍了LTspice使用。遗憾的是第五章只有软件使用介绍,个人觉得软件使用其实不是重点,参考软件的帮助文档和官方入门教程即可,不需要
    发表于 05-29 16:44

    V2板子上部署豆包模型调试指南

    我们将修改好的代码,上传到板子上,之后在终端上运行我们的程序。板子一定要先连接Wi-Fi,再去运行代码否则会报错。 出现上述图片的形式,说明代码可以在板子上正常运行了。 最后 关于如何在终端上运行程序可以看5G智能物联网课程之Aidlux下人工智能开发(SC171开发套件V2
    发表于 05-25 10:17

    HarmonyOS Next V2 @Local 和@Param

    HarmonyOS Next V2 @Local 和@Param @Local 背景 @Local 是 harmony 应用开发中的 v2 版本中 对标**@State**的状态管理修饰器,它解决了
    的头像 发表于 04-02 18:27 836次阅读
    HarmonyOS Next <b class='flag-5'>V2</b> @Local 和@Param

    HarmonyOS Next V2 @Monitor 和@Computed

    HarmonyOS Next V2 @Monitor 和@Computed @Monitor 介绍 @Monitor 是状态把管理 V2 版本中的用于监听状态变量修改的技术。 它可以直接用在
    的头像 发表于 04-02 18:26 629次阅读

    HarmonyOS Next V2 @Event

    HarmonyOS Next V2 @Event 背景 在上一节中,我们针对父子组件,讲了关于传递数据的知识。我们了解到 @Local 是管理自己内部的数据的, @Param 是负责接收父组件的数据
    的头像 发表于 03-31 09:42 614次阅读

    stlink v2为什么无法连接上stm32 stlink unility?

    stlink v2无法连接上stm32 stlink unility
    发表于 03-14 08:51

    微软OmniParser V2:大模型转化为计算机智能体

    微软近日宣布,视觉Agent解析框架OmniParser已发布最新版本V2。这一新版本具有将大型语言模型如OpenAI(4o/o1/o3-mini)、DeepSeek(R1)、Qwen(2.5VL
    的头像 发表于 02-18 09:31 2668次阅读

    微软OmniParser V2发布:大模型转化为计算机智能体

    近日,微软官网宣布了一项重要更新。微软发布了其视觉Agent解析框架OmniParser的最新版本V2。这一新版本具备将包括OpenAI的4o、o1、o3-mini,DeepSeek的R1,Qwen
    的头像 发表于 02-17 14:35 2940次阅读

    SAM IoT Wx v2硬件用户指南

    电子发烧友网站提供《SAM IoT Wx v2硬件用户指南.pdf》资料免费下载
    发表于 01-21 14:02 0次下载
    SAM IoT Wx <b class='flag-5'>v2</b>硬件用户指南

    华为-射频基础知识培训

    课程目标z 熟悉和掌握射频基本概念和知识z 了解无线射频系统结构z 了解天馈系统的概念和知课程内容第一 无线通信的基本概念第二 射频常用计算单位简介第三
    发表于 12-10 13:39 1次下载