第3章 MATLAB与excel数据连结及绘图
第3章 MATLAB与Excel文件的数据交换
%数据平滑 t=linspace(0,2*pi,500)'; y=100*sin(t); plot(t,y) noise=normrnd(0,15,500,1); y=y+noise; figure plot(t,y); % %hold on yy1=smooth(y,50); figure plot(t,y,t,yy1,'r.-'); yy2=smooth(y,0.15,'lowess') figure plot(t,y,t,yy2,'b-.*')
3. 5.2
smoothts函数
smoothts函数的输入参数input是一个金融时间序列对象或行导向矩阵,其中 金融时间序列对象是MATLAB中由ascii2fts或fints函数所创建的一种对象,行导 向矩阵是指用行表示观测数据集的矩阵,若input是一个行导向矩阵,input的每 一行都是一个单独的观测集。 调用格式为:output=smoothts(input) output=smoothts(input,’b’,wsize) output=smoothts(input,’g’,wsize,stdev) output=smoothts(input,’e’,n) 方法g, b, e分别表示高斯窗法,盒子法,指数法。wsize表示窗口(默认值为 5), stdev表示高斯窗方法标准差(默认值为0.65)。n是指数法的窗宽或指数因 子(默认值为0.333)
matlab引用excel数据
matlab引用excel数据
Matlab是一种强大的数学软件,可以用于数据处理和分析。而Excel是一种常用的电子表格软件,用于存储和管理数据。在Matlab中引用Excel数据可以方便地进行数据分析和可视化操作。本文将介绍如何在Matlab中引用Excel数据,并利用这些数据进行一些常见的数据分析和可视化操作。
我们需要准备一个Excel文件,其中包含我们要引用的数据。在Excel文件中,我们可以使用不同的工作表来组织不同的数据。每个工作表中的数据可以包含多个列和行。在Matlab中,我们可以使用"xlsread"函数来读取Excel文件中的数据。该函数的基本语法如下:
```
[num, txt, raw] = xlsread(filename, sheet, range)
```
其中,"filename"是Excel文件的名称,"sheet"是要读取的工作表的名称或索引,"range"是要读取的单元格范围。函数会返回三个输出参数:"num"是数值数据,"txt"是文本数据,"raw"是原始数据。为了演示如何引用Excel数据,我们假设有一个Excel文件名为"data.xlsx",其中包含一个名为"Sheet1"的工作表。该工作表中有两列数据,分别是学生的成绩和年龄。我们可以使用以下代码来读
取这些数据:
```matlab
[num, txt, raw] = xlsread('data.xlsx', 'Sheet1');
```
读取完成后,我们可以对这些数据进行分析。例如,我们可以计算学生成绩的平均值、方差和标准差。在Matlab中,可以使用"mean"、"var"和"std"函数来计算这些统计量。下面是一个示例代码:
MATLAB与Excel的链接及其在频谱监测数据处理中的应用
队园地
Military World
中国无线电 2007年第8期
48
1 概述
MATLAB是Mathworks公司于20世纪80年代推出的软件,经过不断完善和发展,目前已成为涉及多学科、多领域的软件平台。M A T L A B拥有四大特点:一是强大的数值运算能力和符号运算能力;二是强大的数据可视化功能;三是丰富的工具箱;四是可延拓性和开放的架构。Excel是Microsoft公司推出的一个非常出色的电子表格软件,它以图、文、表三者完美结合的形式被广泛应用于财务、统计和分析等
领域。
目前,无线电频谱监测系统中的数据有一大部分是以Excel格式存储的,如果能够将Excel与Matlab进行链接并完成数据交换,将会大大有利于无线电频谱监测数据的后期处理。
2 MATLAB与Excel的链接方法
2.1 利用动态数据交换(D D E )和ActiveX技术
A c t i v e X技术和与之相关的C O M(c o m p o n e n t object mode1)是由Microsoft开发的提供开发人员使用的编程技术和软件接口。ActiveX技术能够大幅度提高工作效率,因此,在Matlab中利用动态数据
交换(DDE)和ActiveX技术编程可自动处理Excel数
据。
利用动态数据交换和ActiveX技术处理Excel数据共分七个步骤。
第一步:利用uigetfile函数(如[FileName,Path Name]=uigetfile('*.xls'))产生一个标准Windows 查找文件对话框,查找相应的文件后,所选择的文件名和文件所在的路径名传递给参数FileName和PathName。
matlab关于excel的相关操作
>>w = interp2(service,years,wage,15,1975)
插值结果为:
w=
190.6288
命令 3 interp3
功能 三维数据插值(查表)
格式 VI = interp3(X,Y,Z,V,XI,YI,ZI) %找出由参量 X,Y,Z 决定的三元函数 V=V(X,Y,Z)在点(XI,YI,ZI)的值。参量 XI,YI,ZI 是同型阵列或向量。若向量参 量 XI,YI,ZI 是不同长度,不同方向(行或列)的向量,这时输出参量 VI 与 Y1,Y2,Y3 为同型矩阵。其中 Y1,Y2,Y3 为用命令 meshgrid(XI,YI,ZI)生成的同型阵列。若插 值点(XI,YI,ZI)中有位于点(X,Y,Z)之外的点,则相应地返回特殊变量值 NaN。
一、matlab读取excel数据
y=xlsread('0.3C-20to50dischargevoltage.xlsx','sheet1','c2:c20')
二、matlab 读入 excel 小数位数丢失问题
Office2007 必须用
一)如果要在 matlab 命令提示符下显示更多有效位数,xls可x,o以ff执ice行2000 或
yi = interp1(x,Y,xi,method,extrapval) %确定超出 x 范围的 xi 中的分量的外插 值 extrapval,其值通常取 NaN 或 0。 例 2-31 >>x = 0:10; y = x.*sin(x); >>xx = 0:.25:10; yy = interp1(x,y,xx); >>plot(x,y,'kd',xx,yy) 插值图形
在Excel中应用MATLAB
在Excel中应用MATLAB
李杰
【期刊名称】《计算机应用》
【年(卷),期】2000(020)011
【摘要】详细介绍了连接Excel和MATLAB的步骤及在Excel中应用MATLAB 的方法,极大地增强了Excel处理数据的能力和图形输出的能力.
【总页数】2页(P66-67)
【作者】李杰
【作者单位】北京航空航天大学,电子工程系,北京,100083
【正文语种】中文
【中图分类】TP311
【相关文献】
1.MATLAB和Excel混合编程技术在变形预测中的应用 [J], 汪春鸣
2.Excel与Matlab软件在《公司理财》课堂教学中的应用 [J], 陈树敏
3.MATLAB与EXCEL混合编程在可选性曲线绘制中的应用 [J], 殷战稳;舒豪
4.Matlab与Excel接口技术在电力系统数据分析中的应用 [J], 董世君;薛玮;董爱芹;陈众
5.基于MATLAB和EXCEL在能力验证中应用的分析与探讨 [J], 刁娟
因版权原因,仅展示原文概要,查看原文内容请购买
如何在Matlab中进行数据交互和数据库连接
如何在Matlab中进行数据交互和数据库连接
数据交互和数据库连接在现代科学研究和工程应用中扮演了至关重要的角色。
而在这个领域中,Matlab(Matrix Laboratory)作为一种著名的数值计算软件,提
供了强大的功能和工具来处理数据交互和数据库连接。本文将介绍如何在Matlab
中利用其丰富的功能来进行数据交互和数据库连接,以实现高效的数据处理和分析。
首先,让我们从数据交互开始。在Matlab中,我们可以利用各种方法和函数
来读取、写入和处理各种不同格式的数据文件,如文本文件、Excel文件、图像文
件等。例如,我们可以使用"readtable"函数来读取文本或Excel文件,并将其保存
成表格形式的数据。这样一来,我们就可以对数据进行更加方便和灵活的操作,如数据筛选、排序、统计等。此外,Matlab还提供了许多用于处理图像和音频数据
的专门函数和工具箱,使得我们可以轻松地进行图像处理、音频处理等任务。
除了读取和处理基本的数据文件外,Matlab还支持与其他软件和语言的数据交互。例如,我们可以使用"importdata"函数来读取其他软件生成的数据文件,如Python中的".npz"文件、R中的".rda"文件等。这样一来,我们就可以充分利用不同
软件的优势和特点,实现跨软件的数据交互与合作。此外,Matlab还支持与外部
设备(如传感器、仪器等)的数据交互,通过串行通信或网络连接等方式进行数据采集和实时处理。
接下来,让我们来探索Matlab中的数据库连接。Matlab提供了丰富的工具和
函数来支持与各种数据库系统的连接和操作。常用的数据库系统包括MySQL、Oracle、SQL Server等。在连接数据库之前,我们需要先安装相应的数据库驱动程序,并确保数据库服务已启动。然后,我们可以使用"database"函数来创建一个与
第章MATLAB与excel数据连结及绘图概要
xlswrite的输入参数
% EXCEL文件名
M
% MATLAB工作空间中的大小为m×n的数
组来自百度文库该数组可以是字符型的,数值型的也可以是单元
数组,其中m < 65536且n < 256
手动启动matlab
(1)在excel电子表格中输入命令=MLOpen()
(2) 利用excel的宏工具,在宏对话框中输入Matlabinit, 然后单击执行按钮。
(3)按左上按钮"startmatlab"。
1、ExcelLink连接管理函数
(1) Matlabinit 该函数只能在宏子例程中使用。初始化 ExcelLink和启动Matlab进程。只有在 MLAutoStart函数中使用“no”参数,才需要 手动使用Matlabinit来初始化ExcelLink和启 动Matlab进程, 如果使用参数“yes”,则Matlabinit是自动执 行的。 使用语法:Matlabinit
(3) MLClose
终止Matlab进程并删除Matlab工作空间的所 有变量。并通知Excel,Matlab不再运行。 在工作表中的使用语法: MLClose() 在宏中的使用语法: MLClose
(4) MLOpen—启动Matlab进程
如果Matlab进程已经启动,则MLOpen函数不 进行任何操作。在使用MLClose关闭Matlab 进程后使用MLOpen来重新启动Matlab。 在工作表中的使用语法: MLOpen() 在宏中的使用语法: MLOpen
matlab关于excel的相关操作
一、matlab 读取excel 数据
y=xlsread('0.3C-20to50dischargevoltage.xlsx','sheet1'
二、matlab 读入excel 小数位数丢失问题
一)如果要在matlab format long g 或
format long e
还有很多显示的格式,详情参见format 函数的帮助
(二)也可以用vpa(A,N),N 为显示的数字位数
第一种无法精确控制#¥%!@#4小数位数,只能是5,10 ,15
第二种可以精确控制!#@¥……小数位数,只是速度很慢,不适用大矩阵问题
三、matlab 将数据保存在excel 中的操作
%xlswrite('文件存盘位置\文件名字(自己想取的文件名).xls',在matlab 工作窗口中的数组)
%例如:将数组A 存盘到d 盘的003文件夹
xlswrite('d:\003.xls',A)
稍微复杂些:
bb=[1,2,3,4,5,6];
cc=[7,8,9,10,11,12];
xlswrite('test.xlsx',bb','Sheet2','B1:B6')
xlswrite('test.xlsx',cc','Sheet2','C1:C6')
bb=[1,2,3,4,5,6];
cc=[7,8,9,10,11,12];
xlswrite('test.xlsx',bb','Sheet2','B')
matlab读取excel数据的函数_理论说明
matlab读取excel数据的函数理论说明
1. 引言
1.1 概述
本篇文章将详细介绍Matlab读取Excel数据的函数。在现代科学研究和工程应用中,Excel表格广泛用于存储和管理数据。而Matlab作为一种功能强大的科学计算平台,具备处理数据和进行可视化分析的能力,因此在许多实际应用中常常需要将Excel中的数据导入到Matlab环境中进行进一步分析。
1.2 文章结构
本文分为五个主要部分。首先,引言部分将简要概述本文内容,并介绍文章结构。然后,第二部分将详细讲解Matlab读取Excel数据的函数,包括不同的文件读取方式以及相关处理函数的介绍。接下来,第三部分将介绍Matlab中对Excel 数据进行操作的方法,包括导出为Excel文件、数据处理与计算方法以及图表生成与数据可视化技巧。第四部分总结了常见问题与解决方案,在无法读取或打开Excel文件、数据格式转换和清洗时出现问题以及Excel数据导入后可能遇到的错误等方面提供解决方法和建议。最后一部分是结论与展望,对Matlab读取Excel数据的函数进行总结评价,并提出了后续研究方向建议与展望。
1.3 目的
本文的目的是系统地介绍Matlab中读取Excel数据的函数和方法,帮助读者理解和掌握如何在Matlab环境中进行Excel数据的读取、处理和分析。通过该文章的阅读,读者将能够充分利用Matlab提供的强大功能,高效地操作Excel数据,并应用到自己的科研或工程实践中。同时,本文还旨在帮助读者解决在使用Matlab读取Excel数据过程中可能遇到的常见问题,提高工作效率并减少错误。最后,展望未来,我们也希望能进一步探索利用Matlab处理和分析Excel数据的新方法与技巧,并将其推动为更广泛、更高效的数据处理工具。
MATLAB与Excel混合编程.
MATLBA 与 Excel 混合编程
Matlab 具有强大的数据计算能力, 但是对于对一些常见的统计图形的显示, 例如棒图,饼图,折线图等, Excel 的显示能力质量很高,且易于控制。 Excel link是一个软件插件,它可以将 Excel 和 Matlab 进行集成。使用 Excel Link 时,不必脱离 Excel 环境, 而直接在 Excel 的工作区域, 或者宏操作中调用 Matlab 的函数。 Excel 提供了11个函数来实现链接和数据操作。因此,通过 Excel link这个中介, Excel 成为Matlab 的一个易于使用的数据存储和应用开发前端,它是一个功能强大的计算和图形处理器。
(一 Excel Link的安装
平台:matlab 2009b, office 2007,Excel Link无需安装, 在 matlab2009b 中已有图示步骤:
点击确定后,找到此宏的目录在 matlab 安装文件目录\toolbox\exlink\excllink2007.xlam 最后出现:
(二 Excel Link的函数及其应用
表一:Excel Link的连接管理函数
表二:Excel Link 数据管理函数
具体应用可以看看 MATLAB 的 help 文件,里面都有 (三应用举例1.
并且会动态更新的 2.
02-在Excel中使用MATLAB(PPT)
(2)设置 “加载宏”对话框的“可用加载宏”列表中多了一个 “Spreadsheet Link 3.2.5 for use with MATLAB andExcel”选项。选中该项,返回Excel窗口。
(3)MATLAB命令组
加载SpreadsheetLink后,在Excel窗口“开始”选项卡中多了一个 MATLAB命令组。命令组中包含的一组命令项,分别用于实现启动MATLAB、 导入和导出数据、调用MATLAB函数等。
专题十
外部程序接口
10.1在Excel中使用MATLAB
SpreadsheetLink程序 将Excel表格中的数据导出到MATLAB工作空间中 从MATLAB工作空间导入数据到Excel表格中 在Excel中调用MATLAB函数进行运算
1.SpreadsheetLink程序
SpreadsheetLink程序是MATLAB提供的Excel与MATLAB的接口,通过 SpreadsheetLink,可以在Excel工作区和MATLAB工作区之间进行数据交换 ,也可以在Excel中调用MATLAB的函数。 (1)
因为选中的各列数据类型不同,所以sale 为cell数组。
3.从MATLAB工作空间导入数据到Excel表格中
在Excel表单选中要导入数据的起始单
元格,单击“MATLAB”按钮,从下拉列表
中选“GetdatafromMATLAB”
如何将Excel中的数据导入MATLAB并在MATLAB中画出图像
1.如何将Excel中的数据在MATLAB界面下显示出来:
首先Excel必须是office的(WPS的不可以,MATLAB不能识别),在MATLAB中使用命令xlsread读取Excel中的数据到MATLAB里,如下所示:[number,txt,raw]=xlsread('noise.xlsx'),此时读取的文件须在MATLAB默认路径下,命令具体用法及参数含义可直接用help命令在MATLAB中查找。读取的数据界面如下:
2.如何将Excel中的数据导入MATLAB并在MATLAB中画出图像?
首先Excel必须是office的(WPS的不可以,MATLAB不能识别),file-Import Data-在工作路径下找到需要导入的文件(图3)-点击打开
(图4)-点击next-点击finish-导入成功-在workspace中看到图5(导入的数据)。至此数据导入成功。下面是如何利用该数据绘图:法一:双击workspace中的data打开如图6,选中要画图的数据如图7(数据范围可以根据需要随便选择),点击上方的plot(data(1:874,1:2),画出图像如图8,并且在工作空间中自动显示画图命令。
法二:直接在工作空间中写画图命令。
图3
图4
图5
图6
图7
图8
在Excel中应用MATLAB
收稿日期:2000205222
作者简介:李杰(1972-),男,硕士研究生,主要研究方向:遥控遥测、CDM A 扩频通信仿真、卫星通信.
文章编号:1001-9081(2000)11-0066-02
在Excel 中应用M AT LAB
李 杰
(北京航空航天大学电子工程系,北京100083)
摘 要:详细介绍了连接Excel 和M AT LAB 的步骤及在Excel 中应用M AT LAB 的方法,极大地增强了Excel 处理数据的能力和图形输出的能力。
关键词:Excel ;Matlab ;函数
中图分类号:TP311 文献标识码:A
1 MAT LAB 和Excel 简介
M AT LAB 是MathW orks 公司推出的面向工程和
计算的交互式计算软件,它已成为国际公认的最优秀的科技应用软件。自1980年以来,它已被广泛应用于控制系统、信号处理、数据分析、通信系统、金融系统、生物医学等领域。M AT LAB 拥有三大特点:一是强大的矩阵处理和数值运算能力;二是强大的符号运算能力;三是强大的图形输出能力。M AT LAB 的三大特点使它不仅能够进行复杂的数据计算、符号运算,而且能够将计算的结果以二维、三维、乃至四维的图形表现出来,并且可以通过对图形线性、立面、色彩、渲染、光线、视角等特性的处理,把计算数据的特征表现得淋漓尽致。
Excel 是一个非常出色的电子表格软件,它以
图、文、表三者完美结合的形式被广泛应用于财务、统计和分析等领域。Excel 内包含一个巨大的内置函数集,供数据处理使用,如能将M AT LAB 强大的数据计算和处理能力、灵活的可编程能力、完美的图形
如何将Excel中的数据导入MATLAB并在MATLAB中画出图像
1.如何将Excel中的数据在MATLAB界面下显示出来:
首先Excel必须就是office的(WPS的不可以,MATLAB不能识别),在MATLAB中使用命令xlsread读取Excel中的数据到MATLAB里,如下所示:[number,txt,raw]=xlsread('noise、xlsx'),此时读取的文件须在MATLAB默认路径下,命令具体用法及参数含义可直接用help命令在MATLAB中查找。读取的数据界面如下:
2.如何将Excel中的数据导入MATLAB并在MATLAB中画出图像?
首先Excel必须就是office的(WPS的不可以,MATLAB不能识别), Data-在工作路径下找到需要导入的文件(图3)-点击打开(图4)-点击next-点击finish-导入成功-在workspace中瞧到图5(导入的数据)。至
此数据导入成功。下面就是如何利用该数据绘图:
法一:双击workspace中的data打开如图6,选中要画图的数据如图7(数据范围可以根据需要随便选择),点击上方的plot(data(1:874,1:2),画出图像如图8,并且在工作空间中自动显示画图命令。
法二:直接在工作空间中写画图命令。
图3
图4 图5
图6
图7
图8
matlab课程设计对excel进行数据读取,绘图及更改数据
电子信息系统设计与仿真报告设计题目GUI模块实现excel文件的处理
姓名:
学号:201300800128
学院:
专业:电子信息科学与技术
年级2013级
2015 年7 月29 日
一.负责部分
Excel文件数据的读入和显示部分,通过GUI模块上的按钮选择读入程序,并显示在GUI模块上的table上。
二.思路
首先要熟悉matlab的基本函数,经过学习,知道了读取.xls文件的函数可以选用xlsread函数,读取文件数据。GUI的基本构架是在模块上构造自己的界面,我负责数据的读入和显示,所以我选用了一个按钮,功能是打开选取文件,还选用了一个table表格显示数据内容。之后把代码写入各自的回调函数,即可实现相应功能。
三.调试过程
代码如下:
(1)PUSHBOTTON1(选取文件)
% 设置全局变量
global num str
%读取文件
PromptString = '选择数据文件。' ;
WarningString1 = '文件格式出错。' ;
WarningString2 = '选择的文件不是正确的数据文件。' ;
[ FileName , PathName ] = uigetfile( {'*.xls','excel文件(*.xls)'}, PromptString ) ;
if FileName == 0
return ;
else
[TempPathName, FileName, FileTypeName, Version] = fileparts( FileName ) ;
if ~strcmp( FileTypeName, '.xls' ) ;
matlab与excel混合
【原创】MATLAB与Excel的混合编程
MATLAB与Excel的混合编程有两种方式: 利用MATLAB提供的Excel Link插件,实现Excel与 MATLAB的数据共享
利用MATLAB提供的Excel生成器,生成dll组件和VBA代码,dll组件可以进行COM 生成器组件相似的操作,VBA代码则可以在Excel的Visual Basic编译器中直接使用,可以保存为插件.
下面分别第一种方法:通过Excel Link实现 Excel和MATLAB的数据共享
1. Excel Link是一个软件插件,它可将Excel与MATLAB进行集成,通过MATLAB与Excel的链接,用户可以在Excel的工作空间中,利用Excel的宏编程功能,使用MATLAB的数据处理和图形处理功能进行相关操作,同时Excel保证MATLAB和Excel工作空间数据的交换和同步更新.使用Excel Link时,不必脱离Excel环境,而直接在Excel的工作区或者宏操作中调用MATLAB函数,Excel提供了11个函数来实现链接和数据操作.
2. Excel Link的安装
Excel Link对运行环境没有要求,只要能够同时运行MATLAB和Excel即可,大概要200KB的空间,在Windows平台下要求先安装Excel,再安装MATLAB.
i. Excel的设置,启动Excel,如下图:
首先要打开"开发工具"选项卡,"文件"-->"选项"-->"自定义功能区",如下图所示,然后在右
侧选中"开发工具".
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
手动启动matlab
(1)在excel电子表格中输入命令=MLOpen()
(2) 利用excel的宏工具,在宏对话框中输入Matlabinit, 然后单击执行按钮。
(3)按左上按钮"startmatlab"。
在原来程序的基础上
plot(mydate,sp08(:,3),'y-*',mydate,sp08(:,3),'m-.')
(3) MLClose
终止Matlab进程并删除Matlab工作空间的所 有变量。并通知Excel,Matlab不再运行。 在工作表中的使用语法: MLClose() 在宏中的使用语法: MLClose
(4) MLOpen—启动Matlab进程
如果Matlab进程已经启动,则MLOpen函数不 进行任何操作。在使用MLClose关闭Matlab 进程后使用MLOpen来重新启动Matlab。 在工作表中的使用语法: MLOpen() 在宏中的使用语法: MLOpen
答案见ex3_2_2.m
2、绘制多根二维曲线 plot函数的输入参数是矩阵形式
1、当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐 标分别绘制曲线,曲线条数等于矩阵列数。
2、对只包含一个输入参数的plot函数,当输入参数是 实矩阵时,按列绘制每列元素值相对其下标的曲线, 曲线条数等于矩阵的列数。
如果用户使用MATLAB中的日期数计算, 常数 693960起关键作用: EXCEL日期数加上它进 入MATLAB,或从MATLAB 日期数中减去它进 入EXCEL
2、ExcelLink数据管理函数
(1) matlabfcn 根据给定的Excel数据执行Matlab命令。 在工作表中使用时的语法: matlabfcn(command, inputs)
xlswrite的输入参数
filename % EXCEL文件名
M
% MATLAB工作空间中的大小为m×n的数
组,该数组可以是字符型的,数值型的也可以是单元
数组,其中m < 65536且n < 256
sheet % EXCEL中的工作簿
range % EXCEL工作簿中的数据区域
例如:将一个向量写入EXCEL文件v.xls,在MATLAB中 执行如下命令:xlswrite('v', [1 5 -8 3.9 0])
设置曲线样式
plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2…)
将按顺序分别画出由三参数定Xi,Yi,LineSpeci 的线条。
其中参数LineSpeci指明了线条的类型,标记 符号,和画线用的颜色。
例3.2.8 采用不同颜色、不同线形以及不同标记 在同一图形中画出y=cos(x),y=sin(x/2)exp{x/100}和y=sin(x-)的图像
'range')
xlsread的输入与输出参数
输入参数:
filename % EXCEL文件名
sheet % EXCEL中的工作簿名
range % EXCEL工作簿中的数据区域
输出参数:
num %读入Excel文件数据
txt
%保存文本内容
例 3.1.2 将m.xls复制到matlab当 前工作目录下,并在matlab命令窗 口输入以下命令:
plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标和y
坐标数据。
二维绘图的例子
例3.2.1 在0≤x≤2区间内,绘制曲线 y=2e-0.5xcos(4πx)
答案见ex3_2_1.m
例3.2.2 假如你的帐户中有一笔10年的 $1000存款,年利率为r,那么10年后你的 钱数与利率的关系是,画出该函数的图像。
例3.2.4 分析下列程序绘制的曲线。
x1=linspace(0,2*pi,100); x2=linspace(0,3*pi,100); x3=linspace(0,4*pi,100); y1=sin(x1); y2=1+sin(x2); y3=2+sin(x3); x=[x1;x2;x3]'; y=[y1;y2;y3]'; plot(x,y,x1,y1-1)
(2) MLAutoStart
设置自动启动Matlab和ExcelLink。 在工作表中的使用语法: MLAutoStart("yes") MLAutoStart("no") 使用“yes”参数,则当Excel启动时,自动启 动Matlab和ExcelLink;如果使用参数 “no”,则当Excel启动时,不启动Matlab和 ExcelLink。如果在此之前它们已经启动,则 无任何影响。
金融数值计算与应用软件
--MATLAB
王辉 中央财经大学金融学院
E-mail :xiaohuipk@163.com
第3章 MATLAB与Excel数据连 接及绘图
3.1 MATLAB与Excel数据连接 3.1.1 MATLAB和ExceBiblioteka Baidu的接口安装:. Excel Link的安
装和和设置 Excel Link的设置
答案见ex3_2_8.m
例3.2.9 分析如下程序
plot(t,sin(2*t),'-mo', 'LineWidth',2, 'MarkerEdgeColor','k','MarkerFaceColor' , [.49 1 .63] ,'MarkerSize',12)
例3.2.10 画出S&P从2008年1月到2008年 10.20最高价、和最低价的时间图,不同价 格以不同的线形、颜色和标记画出。
(3) MLClose
终止Matlab进程并删除Matlab工作空间的所 有变量。并通知Excel,Matlab不再运行。 在工作表中的使用语法: MLClose() 在宏中的使用语法: MLClose
Excel时间与Matlab的转换
EXCEL的默认日期数开始与1900年1月1日, 而MATLAB 的日期数开始于0000年1月1日。
具有两个纵坐标标度的图形
调用格式为: plotyy(x1,y1,x2,y2) 其中x1,y1对应一条曲线,x2,y2对应另一条
曲线。横坐标的标度相同,纵坐标有两个, 左纵坐标用于x1,y1数据对,右纵坐标用于 x2,y2数据对。
例3.2.5 用不同标度在同一坐标内 绘制曲线y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx)。
(3) MLAppendMatrix
将Excel工作表中的数据追加到Matlab中指 定的矩阵中如果该矩阵不存在,则创建矩阵。 在工作表中使用的语法: MLAppendMatrix(var_name,mdat)
注意要追加的数据维数要和原矩阵中的维数 相匹配,否则出错
假设matlab中,矩阵a是个2行3 列的矩阵,如下图:
1、ExcelLink连接管理函数
(1) Matlabinit 该函数只能在宏子例程中使用。初始化 ExcelLink和启动Matlab进程。只有在 MLAutoStart函数中使用“no”参数,才需要 手动使用Matlabinit来初始化ExcelLink和启 动Matlab进程, 如果使用参数“yes”,则Matlabinit是自动执 行的。 使用语法:Matlabinit
例3.1.1 把元胞数组d = {'Time', 'Temp'; 12 98; 13 99; 14 97}写入到 EXCEL文件m.xls的一个规定的工作簿 当中。
答案见ex3_1_1.m
xlsread的调用方式
num = xlsread(filename) num = xlsread(filename, -1) num = xlsread(filename, sheet) num = xlsread(filename, 'range') num = xlsread(filename, sheet, 'range') [num, txt] = xlsread(filename, sheet,
=matlabfcn(“sum”,B3:B10);把从B3到B10的 单元格中数据相加
例:在Matlab中生成12维均匀随机向量aa,利用 matlabfcn在Excel中求其分量之和。
(2) Matlabsub
根据给定的Excel数据执行Matlab命令,并将结 果返回到指定的单元格中。 在工作表中的使用语法: matlabsub(command,edat,inputs) 例如:=matlabsub(”sum”,”A1”, B1:B10);把工作表中从单元格B1到B10的数 据相加,并将结果返回到单元格A1中。 注意:edat指定的位置不能包含matlabsub所 在的位置。
答案见ex3_2_5.m
例3.2.6画出S&P从2008年1月到 2008年10.20收盘价及其对数收 益率的时间图。
答案见ex3_2_6.m
图形保持
hold on/off命令控制是保持原有图形还是刷 新原有图形,不带参数的hold命令在两种状 态之间进行切换。
例3.2.7 采用图形保持,在同一坐标内绘制 曲线y1=0.2e-0.5xcos(4πx) 和y2=2e0.5xcos(πx)。 答案见ex3_2_7.m
4. xlswrite与xlsread
➢ MATLAB提供的函数xlswrite,具有将 MATLAB中的数据写入EXCEL的功能。
➢ MATLAB提供的函数xlsread,具有将EXCEL 中的数据读入MATLAB的功能。
xlswrite的调用方式
xlswrite('filename', M) xlswrite('filename', M, sheet) xlswrite('filename', M, 'range') xlswrite('filename', M, sheet, 'range')
将Excel表中A1:A2中的数据 追加到矩阵后,如下图示
成为矩阵的第四列,如下图示
(4) MLDeleteMatrix
删除Matlab空间中指定的矩阵 在工作表中使用的语法: MLDeleteMatrix(var_name);
Var_name,是要删除的矩阵名,如果矩阵名在引号 内“var_name”的形式,则直接指定变量名,如果 var_name不用引号引起来,则通过计算获得实际矩 阵的名字。 例如,单元格B1中的内容为a,MLDeleteMatrix (B1),则表示删除Matlab工作空间的矩阵a,它等 价于MLDeleteMatrix(”a”)
3、当输入参数是复数矩阵时,则按列分别以元素实部和 虚部为横、纵坐标绘制多条曲线。
例3.2.3 画出S&P从2008年1月到 2008年10.20开盘价、最高价、 最低价和收盘价的时间图。
(1)横坐标是观测个数,纵坐标是价格,将四种 价格画在一幅图中
(2)横坐标是时间,纵坐标是价格,将四种价 格画在一幅图中
启动Excel,选择菜单“工具”项下的“加载宏” 项,弹出如下对话框
若该项不存在,则通过浏览目录,在目录 MATLAB/toolbox/exlink下找到 excllink.xla文件
在Excel中多了一个Excel Link工 具条,如下图示:
3.1.2 . ExcelLink管理函数 手动启动matlab
答案见ex3_1_2.m
3.2 MATLAB绘图 3.2.1 二维数据曲线图
1、绘制单根二维曲线 plot函数最简单的调用格式是只包含一个输入参数:
plot(x) 在这种情况下,当x是实向量时,以该向量元素的下标
为横坐标,元素值为纵坐标画出一条连续曲线,这 实际上是绘制折线图。 plot函数的基本调用格式为:
(3)横坐标是时间,纵坐标是价格,画出其收 盘价的时间图
答案见ex3_2_3.m
含多个输入参数的plot函数
调 用格式为: plot(x1,y1,x2,y2,…,xn,yn) (1)当输入参数都为向量时,x1和y1,x2和y2,…,
xn和yn分别组成一组向量对,每一组向量对的长度 可以不同。 (2) 当输入参数有矩阵形式时,配对的x,y按对应列元素 为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列 数。