- 51
- 0
- 约2.16万字
- 约 28页
- 2021-05-08 发布于甘肃
- 举报
MATLAB与Excel文件的数据交换
1 案例背景
Excel是一款非常优秀的通用表格软件,在学习、工作与科研中大量的数据可能都是以excel表格的方式存储的。Excel在矩阵计算、数据拟合与优化算法等方面的功能尚不足,Excel与Matlab相结合是处理复杂数据问题的有效方法。 如何利用matlab强大的数值计算功能处理excel中的数据,首要解决的问题就是如何将excel中的数据导入到matlab中或将matlab数值计算的结果转存入excel中,本章主要介绍以函数方式与exlink宏的两种方法实现matlab与excel的数据交互。
2 数据交互函数
2.1 获取文件信息xlsfinfo函数
在读取excel目标数据文件前,可以通过xlsfinfo函数获取该文件的相关信息,为matlab函数的后续操获得有效信息(例如,文件类型、文件内部结构、相关的软件版本等)。
xlsinfo函数语法:
[typ, desc, fmt] = xlsfinfo(filename)
输入参数:
Filename:目标文件地址(若文件在matlab当前的工作目录中,Filename为’文件名’,如果文件不在matlab当前的工作目录中,filename为’文件路径\文件名’,例如:E:\other\案例书籍\abc.xls)
输出参数:
Typ:目标文件类型
Desc:目标文件内部表名称(sheetname)
Fmt:支持目标文件的软件版本
测试函数:m文件CaseXlsfinfo.m
%code by ariszheng@
%2010-6-22
%%
%文件名称“excel.xls”
[typ, desc, fmt] = xlsfinfo(excel.xls)
%文件在当前工作目录下,直接输入文件名称即可。
system(taskkill /F /IM EXCEL.EXE);
注释:由于作者matlab2009a与excel2007数据交互时,每次使用xls类函数,都会重新开启一个excel进程,若反复使用xls类函数会导致系统中多个excel进程并存,消耗系统资源,导致系统运行速度下降,故作者使用system(taskkill /F /IM EXCEL.EXE)调用windows的taskkill函数关闭刚使用的excel进程。在2011以后的版本中,经测试上述问题已不存在。
结果输出:
typ =
Microsoft Excel Spreadsheet
%文件类别为excel文件
desc =
Sheet1 Sheet2 Sheet3
%文件中数据表为 Sheet1 Sheet2 Sheet3
fmt =
xlExcel8
%文件版本为xlExcel8版本 对应的为excel 97~2003版本
成功: 已终止进程 EXCEL.EXE,其 PID 为 5508。
2.2 读取数据xlsread函数
Matlab从excel中读取数据的函数为xlsread,xlsread函数是使用频率较高的函数之一。
xlsread函数语法
1.[ data,textdate]= xlsread(filename)
输入参数:
Filename:目标文件地址(若文件在matlab当前的工作目录中,Filename为’文件名’,如果文件不在matlab当前的工作目录中,filename为’文件路径\文件名’)
输出参数:
Data: 数值数据
Textdate: 文字数据
表1:目标文件excel.xls内容
date
price
Vol
4-Jan-05
1,000.000
994.000
5-Jan-05
982.790
418.000
6-Jan-05
992.560
174.000
……
……
……
18-Jan-05
967.450
183.000
19-Jan-05
974.690
973.000
20-Jan-05
967.210
314.000
测试函数m文件CaseXlsRead.m,测试excel文件内容如表1。
%调用xlsread函数
[data,textdate]= xlsread(excel.xls)
%textdate的第一列为日期文本,第一行为列名称。
Hs300Date=textdate(2:14,1)
%2011以后的版本可不添加此行命令
system(taskkill /F /IM EXCEL.EXE)
结果输出:
data =
1.0e+003 *
1.0000 0.9940
0.9828 0.4180
0.9926 0.1740
0.983
您可能关注的文档
- MATLAB程序设计BS公式与二叉树模型—期权定价与分析.docx
- MATLAB程序设计KMV模型求解—方程与方程组的数值解.docx
- MATLAB编程实用技巧.docx
- MATLAB程序设计策略模拟—组合保险策略分析.docx
- MATLAB程序设计贷款按揭与保险产品---现金流分析案例.docx
- MATLAB程序设计分形技术—移动平均Hurst指数计算.docx
- MATLAB程序设计技术分析-指标计算与绘图.docx
- MATLAB程序设计使用Matlab进行国内期货交易.docx
- MATLAB程序设计随机模拟—概率分布与随机数.docx
- MATLAB程序设计资产收益率分布的拟合与检验.docx
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- CSAE 295.3-2023 车路云一体化系统 第3部分:路云数据交互规范.pdf
- 德国Navilas眼底导航激光机器人在远程医疗与糖网治疗中应用与发展.pdf VIP
- 河北农信社真题试卷答案(3篇).docx VIP
- 商业计划书模块化制作与演示设计 课件汇总 第1-13章 商业计划书概述-商业计划演示过程的四大核心环节与常见问题.pdf VIP
- 城市道路“白改黑”工程施工组织设计[1].doc VIP
- 2025年宁夏高职院校分类考试文化基础测试(英语).docx VIP
- 2026年高考作文备考之诺贝尔奖人物素材(话题角度+写作示例+时评).docx VIP
- 可口可乐中国技术标准瓶(桶)装 饮用水品控手册-技术标准(V10)Packaged+Water+Quality+Control+Manual+-+July+201707.pdf
- 固态电解质的界面工程.docx VIP
- 浙大中控DCS图形编程使用手册.doc VIP
原创力文档

文档评论(0)