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

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

3天内不再提示

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

通信工程师专辑 来源:未知 2023-12-11 08:20 次阅读

继续讲解!

wKgZomV2Vb6ARWERAAVu44EZlQ0491.png

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

wKgZomV2Vb6AWM3XAAAHCaxgszk549.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);

wKgZomV2Vb-AJi1tAAFfhTvkZpQ546.png

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

A = readmatrix(filename)

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

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

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

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

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

wKgZomV2Vb6AWM3XAAAHCaxgszk549.gif

文件知识!

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

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

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

wKgZomV2Vb6AWM3XAAAHCaxgszk549.gif

现在我首推使用readmatrix函数!

wKgZomV2Vb-AJ8HmAAEkZA5wqtM689.png

wKgZomV2Vb-AWXHbAALrnCIDXcw047.png

语法!

A = readmatrix(filename)

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

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

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

wKgZomV2Vb-AK5K8AAAHCaxgszk698.gif

回顾过往!

wKgZomV2Vb-AA2NFAABaXH60_yQ885.png

wKgZomV2Vb-AK5K8AAAHCaxgszk698.gif

wKgZomV2Vb-AZQFEAACuY-fhqFg324.jpg

wKgZomV2Vb-AK5K8AAAHCaxgszk698.gif

再回首!

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

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

那是做梦!

wKgZomV2Vb-AK5K8AAAHCaxgszk698.gif

wKgZomV2Vb-AE2IQAAD_xGsk4FQ927.png

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

wKgZomV2Vb6AWM3XAAAHCaxgszk549.gif

wKgZomV2VcCAQfyAAAouw5gO9Tg725.png

wKgZomV2Vb6AWM3XAAAHCaxgszk549.gif

继续看视频吧!

接着让自己脑洞大开吧!第四天,继续给学生们直播讲课!后续还会讲,总共策划了有十几节课呢。

2023年12月,课堂上的讲解视频来了!互联网时代的特色,手机上也能听课。

请特别注意二进制文件的存储方式,比较一下和文本文件存储的差异。未完,待续!

wKgZomV2VcCAW6DUAAAgWrkkT7Y410.gif

修订记录

20230418 完成初稿;

20230831 修订内容v2;

20231211 修订内容v3;


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

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

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

    关注

    21

    文章

    2020

    浏览量

    51916

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    《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 661次阅读
    【北京迅为】《stm32mp157开发板嵌入式linux开发指南》<b class='flag-5'>第五章</b> Ubuntu使用apt-get下载

    MATLAB课程之第五章v3 文件操作(3)

    继续讲解! 视频文件一般都很大! 处理起来很耗内存! 大家用过剪影这个软件 吗? 这种 软件必然 包含了大量的视频文件函数 !那我们就先在MATLAB中去感受类似函数的作用吧。 读取文件
    的头像 发表于 12-10 08:20 396次阅读
    <b class='flag-5'>MATLAB</b><b class='flag-5'>课程之</b><b class='flag-5'>第五章</b><b class='flag-5'>v3</b> <b class='flag-5'>文件</b><b class='flag-5'>操作</b>(<b class='flag-5'>3</b>)

    MATLAB课程之第五章v3 文件操作(2)

    后,真的希望在医学方面能有所贡献!所以,现在就积累!扩展一下知识面吧! MATLAB的图像处理工具箱(image processing toolbox)自带了读取医学图像DICOM文件的函数dicomread、dicominfo等,如果MRI影像数据的扫描参数丢失(本文以
    的头像 发表于 12-08 12:25 404次阅读

    MATLAB课程之第五章v3 文件操作(1)

    本章知识点非常实用,所以内容较多,这也是从理论走向实践的必经之路。离开了数据,你怎么进行实践操作?在计算机中,数据的形式就是文件个部分! 每个部分都涉及一种常用的文件! 先来看常
    的头像 发表于 12-07 10:45 432次阅读

    MATLAB课程之第四v3 程序设计(4)

    继续讲解!在大二学习MATLAB的时候,可以将学过的数学知识用软件编程方式呈现。这既是一个知识巩固过程,也是一个软件熟悉过程!一举两得!来看看软件和线性代数及概率统计的结合过程。 rank函数会用
    的头像 发表于 12-05 08:10 369次阅读
    <b class='flag-5'>MATLAB</b><b class='flag-5'>课程之</b>第四<b class='flag-5'>章</b><b class='flag-5'>v3</b> 程序设计(<b class='flag-5'>4</b>)

    MATLAB课程之第四v3 程序设计(1)

    开始讲解第四的内容。2023年8月,第二版文章和大家见面了,增加了很多内容,还有视频指导。 本章开始开始教同学们如何编写复杂程序了。本课程总共有多少啊?回答:七。 第四
    的头像 发表于 11-29 08:10 413次阅读

    MATLAB课程之第三v3 M文件知识(5)

    函数的有关知识。下面的内容也可以让大家了解一下行业的应用,之前讲过MATLAB可以在哪些行业使用,通过这些函数的了解也能让大家体会到MATLAB在行业中会起到的作用。我本人已经在生物信号处理和智能家居、数据统计方面做出了很多实际项目。这些项目对大家工程
    的头像 发表于 11-28 08:10 353次阅读

    MATLAB课程之第三v3 M文件知识(3)

    和出口。由这3种基本结构组成的多层嵌套程序称为结构化程序。 百度百科解释的很棒!相信大家在C语言里面已经了解了这些知识,那就在MATLAB中再来一遍吧。再来学习另外一种开关结构! switch 语句用的场合不如 if 语句多! 注意: 开关结
    的头像 发表于 11-26 10:05 550次阅读
    <b class='flag-5'>MATLAB</b><b class='flag-5'>课程之</b>第三<b class='flag-5'>章</b><b class='flag-5'>v3</b> M<b class='flag-5'>文件</b>知识(<b class='flag-5'>3</b>)

    MATLAB课程之第三v3 M文件知识(2)

    ,都没有在自己的电脑上装上MATLAB软件。为什么会这样?非得要老师逼迫你才学?晕倒!!! 这就是我的亲生教学经历,好在这些经历已经过去了好几年,不再彷徨了。 现在情况如何呢?教学C语言的时候也遇到了类似情况,感觉学生在为
    的头像 发表于 11-25 07:10 400次阅读
    <b class='flag-5'>MATLAB</b><b class='flag-5'>课程之</b>第三<b class='flag-5'>章</b><b class='flag-5'>v3</b> M<b class='flag-5'>文件</b>知识(2)

    MATLAB课程之第二v3 MATLAB绘图功能(5)

    =[h2 h2;h2 -h2]; h8=[h4 h4;h4 -h4]; mesh(h8) 继续举例说明! 写个m文件试试效果! x = [-
    的头像 发表于 11-19 14:50 539次阅读

    MATLAB课程之第二v3 MATLAB绘图功能(4)

    继续讲解! 不知不觉中来到了2.4.6节。 盛夏也已到来!2023年7 月,30度以上的温度已经是平常事,安心在家备课!学无止境,不断追求教学方法上的进步。最关键的原则就是因人而异,每一届的学生
    的头像 发表于 11-18 16:05 404次阅读

    MATLAB课程之第二v3 MATLAB绘图功能(3)

    知晓, 就应该加上一些必要的注释!xlabel等函数就能做到这些作用!怎么用?很简单!一句话的事情!关键是多用!熟能生巧! 致谢! 讲到这里,要感谢一位东南大学的网友! 他现在是研一在读研究生!跟着我在学MATLAB基础课程和数字
    的头像 发表于 11-16 16:35 433次阅读
    <b class='flag-5'>MATLAB</b><b class='flag-5'>课程之</b>第二<b class='flag-5'>章</b><b class='flag-5'>v3</b> <b class='flag-5'>MATLAB</b>绘图功能(<b class='flag-5'>3</b>)

    MATLAB课程之第二v3 MATLAB绘图功能(1)

    内容是高中数学所涉及的知识,希望同学们能在matlab中熟练使用。考试中会涉及这些知识点哦,还不记住用法吗?之前在课堂上演示了画图的基本函数plot,现在我们就一起来学习第二的知识。 2023年7月,文章更新至v2版本。有哪些
    的头像 发表于 11-12 16:00 476次阅读
    <b class='flag-5'>MATLAB</b><b class='flag-5'>课程之</b>第二<b class='flag-5'>章</b><b class='flag-5'>v3</b> <b class='flag-5'>MATLAB</b>绘图功能(1)