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)

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

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

    关注

    21

    文章

    2042

    浏览量

    52068
收藏 人收藏

    评论

    相关推荐

    华为-射频基础知识培训

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

    《DNESP32S3使用指南-IDF版_V1.6》第五章 搭建开发环境

    第五章 搭建开发环境 在前面章节中,我们已经大致了解了ESP32-S3基础知识及ESP-IDF物联网开发框架的编译与链接原理,现在,我们将进入实际操作阶段,逐步搭建ESP-IDF的开发环境。本章分为
    发表于 12-02 14:28

    第5 MATLAB程序设计.ppt

    第5 MATLAB程序设计
    发表于 10-24 16:40 0次下载

    迅为电子RK3588S开发板第五章 Debian系统功能测试

    迅为电子RK3588S开发板第五章 Debian系统功能测试 迅为iTOP-3588S开发板采用瑞芯微RK3588S处理器,是全新一代AloT高端应用芯片,搭载八核64位CPU,四核
    的头像 发表于 10-15 15:59 1024次阅读
    迅为电子RK3588S开发板<b class='flag-5'>第五章</b> Debian系统功能测试

    浅析SDIO协议V2V3版本的区别

    。这得益于V3在设计和实现过程中可能采用了更先进的加密和认证机制。 4. 支持的协议 V2 :支持的协议种类更多,包括IPv4、IPv6、PPTP、L
    发表于 09-18 08:32

    《DNK210使用指南 -CanMV版 V1.0》第五章 编译CanMV固件

    第五章 编译CanMV固件 上一节中已经搭建好了基于CanMV的C开发环境,这么一来便可以进行基于C语言和FreeRTOS的应用开发或者编译基于MicroPython语法的应用开发方式所需
    发表于 09-07 10:56

    【北京迅为】《stm32mp157开发板嵌入式linux开发指南》第五章 Ubuntu使用apt-get下载

    【北京迅为】《stm32mp157开发板嵌入式linux开发指南》第五章 Ubuntu使用apt-get下载
    的头像 发表于 09-03 16:26 809次阅读
    【北京迅为】《stm32mp157开发板嵌入式linux开发指南》<b class='flag-5'>第五章</b> Ubuntu使用apt-get下载

    STM8S103F3P6用ST-LINK V2怎么连接和下载HEX文件

    STM8S103F3P6用ST-LINK V2怎么连接和下载HEX文件
    发表于 05-14 06:57

    SC171开发套件V2 技术资料

    SC171开发套件V2 技术资料 课程类别 链接 硬件平台介绍及使用(SC171开发套件V2 ) https://bbs.elecfans.com/jishu_2422919_1_1.html 安卓
    发表于 05-10 16:47

    5G智能物联网课程之Aidlux下人工智能开发(SC171开发套件V2

    5G智能物联网课程之Aidlux下人工智能开发(SC171开发套件V2课程类别 课程名称 视频课程时长 视频
    发表于 05-10 16:46

    产品简介 | RZ/V2系列MPU

    产品简介 | RZ/V2系列MPU
    的头像 发表于 05-08 08:06 457次阅读
    产品简介 | RZ/<b class='flag-5'>V2</b>系列MPU

    深度解读RoCE v2的核心技术原理

    RoCE v2是一种专为实现以太网环境下低延迟、高吞吐量数据传输而设计的RDMA协议。相较于涉及多重处理层次的传统数据传输方式,RoCE v2实现了系统间的直接内存访问机制,最大限度地减少了CPU的参与和降低通信延迟。
    发表于 04-29 10:32 4878次阅读
    深度解读RoCE <b class='flag-5'>v2</b>的核心技术原理

    硬件平台介绍及使用(SC171开发套件V2

    硬件平台介绍及使用(SC171开发套件V2课程类别 课程名称 视频课程时长 视频课程链接 课件链接 硬件 SC171开发套件
    发表于 04-09 15:34

    荣耀Magic V2 RSR保时捷设计亮相MWC 2024巴塞罗那全球发布会

    近日,荣耀Magic V2 RSR 保时捷设计亮相 MWC 2024 荣耀巴塞罗那全球发布会。作为全球首款保时捷设计折叠屏手机,荣耀Magic V2 RSR保时捷设计外观时尚、轻巧,重量为234克、闭合态厚度为9.9毫米。
    的头像 发表于 02-29 10:32 1179次阅读

    大模型系列:Flash Attention V2整体运作流程

    基于1.1中的思想,我们在V2中将原本的内外循环置换了位置(示意图就不画了,基本可以对比V1示意图想象出来)。我们直接来看V2的伪代码(如果对以下伪代码符号表示或解读有疑惑的朋友,最好先看一下
    的头像 发表于 02-21 11:38 2022次阅读
    大模型系列:Flash Attention <b class='flag-5'>V2</b>整体运作流程