Excel日期格式在matlab中的转换

Excel日期格式在matlab中的转换
Excel日期格式在matlab中的转换

Excel日期格式在matlab中的转换

Excel支持的日期格式如下:2011*8*12,*可以为“年”、“/”、“—”等形式,然而使用xlsread函数后肯定会转为字符串格式,不便于管理,下面是将日期改为8位如“20110812”这样的格式的步骤:

1.在excel中通过更改单元格属性先把日期改为“2011/8/12”这样的格式;

2.使用[num,s]=xlsread(‘*.xls’);将数据导入matlab,此时为字符串格式的“2011/8/12”;

3.使用p=strfind(s,’/’);找到“/”所在的位置;

4.y=str2num(s(1:p(1)-1); m=str2num(s(p(1)+1,p(2)-1)); d=str2num(s(p(2)+1,inf));得到结果:

y=2011,m=8,d=12;

5.day=y*10000+m*100+d;大功告成,day=20110812。

下面给出示例程序(假设日期为excel中的第一列第二行开始的一列):

*num,txt+=xlsread(‘data.xls’);

strdate=txt(1:end,1);

p=strfind(strdate,'/');

for i=1:size(strdate,1)

y(i,1)=str2num(strdate{i}(1:p{i}(1)-1));

m(i,1)=str2num(strdate{i}(p{i}(1)+1:p{i}(2)-1));

d(i,1)=str2num(strdate{i}(p{i}(2)+1:end));

end

date=y.*10000+m.*100+d;

MATLAB访问excel

MATLAB访问excel

MATLAB作为自动化客户端调用Excel服务器编程项目中最后的功能——打印报告,最终确定使用ActiveX方式访问office,这个应该称之为OLE(对象链接与嵌入)方法。通过MATLAB 调用Excel服务器,可以完成一些非数据对象的交互,比如图片。 在这里演示一下MATLAB与Excel交互的整体过程,当然这里不是报告的内容,这个属于项目的资料了。这里通过简单的图片来表示,实际要做的时候,步骤和这个基本一致,只是过程麻烦些,每一个图片都要调整,然后数据内容调整,单元格格式等等: 先看一下示意的效果:

1.MATLAB打开自动化方法 使用actxserver函数。如下: he = actxserver('Excel.Application'); 上述语句创建excel服务器,句柄值为he,通过he可以访问excel服务器的属性和方法。 在使用中为了方便存储,可以设置默认路径,使用excel服务器的DefaultFilePath属性:

he.DefaultFilePath = 'E:\'; 调试中为了方便观看excel文件内容,可以设置excel服务器的Visible属性,实际调试时可以改为1,调试过后改为0即可: he.Visible = 1; 2.创建工作簿方法 通过excel服务器的属性Workbooks创建工作簿句柄,通过该句柄的方法Add 创建工作簿: hw = he.Workbooks.Add; 然后,继续通过hw的Worksheets属性建立Sheets类句柄: hs = hw.Worksheets; 访问某一sheet的方法即用sheets的Item方法: sheetItem = hs.Item(1); 上面即建立的sheet类句柄,可以通过该句柄访问单一sheet。 3.生成带有图形的Excel,主要是figure位置和格式,粘贴时只能选择单元格,需要精细修饰就要使用下面的方法了。

excel设置日期格式限制单元格内容只能输入日期解读

excel 设置日期格式限制单元格内容只能输入日期实际工作中通常需要用Excel 建立一个需要输入日期的表格,在以后的工作中可以会对以日期做一些筛选的操作。但是如果一开始建库的时候没有注意录入日期格式的问题,那么很可以没有办法做这样的筛选,或是筛选出错。 这里其实涉及到了,Excel 单元格格式的问题。通常有文本格式,数字格式,时间格式,日期格式,等。默认的状态下是可以直接录入文本和数字的,但日期或时间的录入,则要先做一些单元格格式的定义才可以。 在这里,笔者准备介绍一下如何在Excel 中录入日期,以及如何限制单元格内容只能输入日期的方法。这样既可以保证录入日期的正确性,也让今后工作对其日期数据的进一步操作更为方便。 以下表为例: 操作步骤如下: 1. 选择B 列,设置为日期格式 (2) 2. 设置单元格数据的“有效性”或“数据验证” . (3)

3. 设置“输入法模式” (4) 1. 选择B 列,设置为日期格式

这个时候虽然已经设定了日期格式,但是并不能限制单元格内容的录入,现在我们随便在B2单元格写入几个汉字,如下图: 上图的录入内容是我们不希望出现的,因为我们希望在这一列单元格中只能录入日期,这样以可以保证数据的有效性。因此还需要对单元格做如下设定。

2. 设置单元格数据的“有效性”或“数据验证” 这里要提到的是:在excel 2003中这个设置是在“数据”—“有效性”;在excel 2007及以后的版本中,这个设置是在“数据”—“数据验证”。以下以最新版的Excel 2013为例,如下图: 先选中B 列单元格

时间的区间一定要设定,假设我们设置为1900/1/1到2010/1/1 3. 设置“输入法模式” 为了方便录入,而不需要手动进行输入法的切换,可以在设置在“数据验证”下进一步设置“输入法模式”,如下图:先选中B 列单元格

Matlab 如何读取 Excel 表格数据

? 上一篇: 在VC++程序中输出空心文字下一篇: My ANN program ? Matlab 如何读取 Excel 表格数据 Cyberr @ 2005-03-31 12:44 Subject: Are there any examples that show how to use the ActiveX automation interface to connect MATLAB to Excel? Problem Description I am trying to control Excel from MATLAB using ActiveX. Are there any examples that show how to use the ActiveX automation interface from Excel to do this? Solution: Most of the functionality that you get from ActiveX is dependent on the object model, which the external application implements. Consequently, we are usually unable tp provide much information about the functions that you need to use in the remote application to perform a particular function. We do, however, have an example that shows how to do perform common functions in Excel. We also recommend that you become more familiar with the Excel object model in order to better use Excel's ActiveX automation interface from MATLAB. You can find more information on this interface by selecting the "Microsoft Excel Visual Basic Reference" topic in the Microsoft Excel Help Topic dialog. This topic area contains a searchable description of Excel methods and properties. The following example demonstrates how to insert MATLAB data into Excel. It also shows how to extract some data from Excel into MATLAB. For more information, refer to the individual comments for each code segment. % Open Excel, add workbook, change active worksheet, % get/put array, save, and close % First open an Excel Server Excel = actxserver('Excel.Application'); set(Excel, 'Visible', 1); % Insert a new workbook

15-Excel中日期格式转换问题

Excel中日期格式转换问题 1.数字格式转年月日格式 工作表中出生年月日格式格式是如:198707141987090620090902如果想改成1987-7-14或改成1987年7月14日。 1、就用此函数插入一列如B列,B1=(LEFT(A1,4)&"-"&MID(A1,5,2)&"-"&RIGHT(A1,2));其它单元格可以用此公式自动填充,然后把此单元格设置成日期1987-7-14; 2、插入一列如B列,B1=(LEFT(A1,4)&"年"&MID(A1,5,2)&"月"&RIGHT(A1,2)&"日");其它单元格可以用此公式自动填充,然后把此单元格设置成日期1987年7月14日。 把这种格式2009.9.2转换成2009-09-02这样的格式:假如原始数据在A列从A1开始,则在B1输入公式=TEXT(SUBSTITUTE(A1,".","-"),"yyyy-mm-dd"),然后下拉复制公式即可。 2.在Excel中将非日期格式数据转换为日期格式 如果Excel表格中有大量的类似“19841006”、“19841029”非日期格式的数据要转换为日期格式,如“1984-10-6”,可以用分列的方法: 1).选择需要转换单元格或区域,单击菜单“数据→分列”,弹出“文本分列向导-3之步骤1”对话框。如果是Excel2007,则在功能区中选择“数据”选项卡,在“数据工具”组中,单击“分列”按钮。

2).单击两次“下一步”,在“文本分列向导-3之步骤3”中,在“列数据格式”中选择“日期”。还可以根据需要,在其后的下拉列表中选择一种日期格式。本例为默认的“YMD”格式。 3).单击“完成”按钮,Excel会在原单元格或区域中将数值格式的“19841006”和文本格式的“1984.10.6”转换为日期格式“1984-10-6”。 另外,对于“1984.10.6”文本格式的数据,还可以将“.”替换为“-”,也可以转换为日期格式。 3.将日期格式转换为数字格式 在日期后插入一列取函数=text(a1,"yyyymmddhhmm")yyyy表示年mm表示月dd表示日hh表示时mm表示分a1表示日期位置(第一行第一列),然后向下拖曳填充即可改变其他各行日期 4.Excel文本日期转换为日期格式 什么是序列号? Excel可将日期存储为可用于计算的序列号。默认情况下,1900年1月1日的序列号为1,2008年1月1日的序列号为39,448,这是因为它距1900年1月1日有39,448天。 2、若要将转换公式复制到相邻单元格的区域中,请选择在其中键入公式的单元格,然后拖动填充柄,使之覆盖大小与包含文本日期的单元格区域匹配的空单元格区域。 拖动填充柄之后,应有序列号与包含文本日期的单元格区域相对应的单元格区域。

Matlab中使用Excel数据

Matlab中使用Excel資料收藏 % Open Excel, add workbook, change active worksheet, % get/put array, save, and close % First open an Excel Server %打開一個Excel操作物件 Excel = actxserver('Excel.Application'); %使Excel物件可見,即打開Excel視窗,實際應用時設置其為不可見的set(Excel, 'Visible', 1); % Insert a new workbook %創建工作本組物件 Workbooks = Excel.Workbooks; %添加一個工作本 Workbook = invoke(Workbooks, 'Add'); % Make the second sheet active %獲取當前活躍工作本的表單組,一個工作本共有3個表單(sheets)Sheets = Excel.ActiveWorkBook.Sheets; %獲取表單組中的一個表單 sheet2 = get(Sheets, 'Item', 2); %啟動該表單 invoke(sheet2, 'Activate'); % Get a handle to the active sheet %獲取當前活躍表單的控制碼 Activesheet = Excel.Activesheet; % Put a MATLAB array into Excel %向表單中寫入資料 A = [1 2; 3 4]; %設置寫到Excel中的範圍 ActivesheetRange = get(Activesheet,'Range','A1:B2'); %寫入 set(ActivesheetRange, 'Value', A); % Get back a range. It will be a cell array, % since the cell range can % contain different types of data. %讀會資料塊 Range = get(Activesheet, 'Range', 'A1:B2');

matlab利用excellink达到在excel中直接画图

matlab excel混合编程MATLAB与 Excel数据连接及绘图 3.1 MATLAB与Excel数据连接 EXCEL和MATLAB在数据显示和数值计算上各有优势,EXCEL是商业运用最广泛的工具,非常直观,但是数值编程比较差,而MA TLAB可以弥补这一点,有时在程序开发上需要将两者结合起来,实现两者之间的优势互补,为此MATLAB提供了EXCEL Link连接工具,实现MA TLAB与EXCEL之间的混合编程。 EXCEL Link是一个在Microsoft Windows环境下实现对Microsoft EXCEL和MATLAB 进行链接的插件。通过对EXCEL和MATLAB 的连接,用户可以在EXCEL的工作空间里,利用EXCEL的宏编程工具,使用MATLAB的数据处理和图形处理功能进行相关操作,同时由EXCEL Link来保证两个工作环境中数据的交换和同步更新。使用EXCEL Link 时,不必脱离EXCEL环境,而是直接在EXCEL工作区或宏操作中调用MATLAB函数。 EXCEL Link允许在MATLAB和EXCEL之间进行数据交换,在两个功能强大的数学处理、分析与表示平台之间建立无缝连接。EXCEL作为一个可视化的数据处理环境是进行数组编辑的最佳选择,而MA TLAB则作为数据分析和可视化的引擎。任何输入到EXCEL环境中的数据都可以直接进入MTA TLAB进行处理,而这一过程完全是“现场”处理的,没有任何中间文件,也不需要进行编程工作。

3.1.1 MATLAB和Excel的接口安装:. Excel Link的安装和和设置 首先,在系统中安装Excel软件。然后安装Matlab和Excel Link,用Matlab安装盘开始安装,选择自定义安装中,在选中组件ExcelLink,如下图所示: 安装完Excel Link后还需要在Excel中进行一些设置后才能使用。 启动Excel,选择菜单“工具”项下的“加载宏”项,弹出如下对话框:

matlab 如何将符合特定条件的数据导入excel并求出平均值

% outline %step_1 clear %step_2 CurrentWorkingPaht %step_3 a Matrix_r %step_4 Loop getting the 20 close and far values %step_5 writing the Matrix_r into the Excel % clear clc;clear; % currentworkingpath CurrentWorkingPath = fileparts(mfilename('fullpath')); Filename_result = ['result_selectionA_1.txt']; % set a Matrix_r Matrix_r = zeros(20,2); for i = 1:20 tmpPathname = sprintf('%s\\sub%d\\%s',CurrentWorkingPath,i,Filename_result); [Col_1 Col_2 Col_3 Col_4 Col_5 Array_type Array_RTs Array_ACC] = textread(tmpPathname, '%d%d%d%d%d%d%d%d', 'delimiter', ' '); doubleC_Mat = [Array_type Array_RTs]; Matrix_r(i,1) = mean(doubleC_Mat(doubleC_Mat(:,1)<=12,2)); Matrix_r(i,2) = mean(doubleC_Mat(doubleC_Mat(:,1)>12,2)); end % writing into the excel file success = xlswrite('student_update.xls', Matrix_r,'sheet1', 'B2'); Series = 1:20; Series = Series';

matlab读取excel数据

matlab读取excel office的表格文件也就是xls文件本质上就是一个二维矩阵,二维矩阵是用来保存数据的最佳方式,所以在日常工作中,我们从其它地方获取的数据通常都被保存为xls格式,但处理数据时,我们却需要把xls文件的数据导入到matlab里进行处理。 如果你只处理一个文件并且只做一次的话,你可以手动来拷贝粘贴,这花费不了你太多时间。如果有很多xls文件,或者你的xls文件的内容可能随时被修改,那么下面的方法可以派上用场。 matlab自身提供了大量的函数,包括读取office文件。其中xlsread和xlswrite就是专门用来读取xls文件里的数据的。这两个函数的使用方法可以直接查看matlab自带的帮助。 xlsread对于纯数据的xls文件支持很完美,也就是说当xls文件里的每个格子都是“数”时,xlsread会直接返回一个实数矩阵。但是通常我们拿到xls文件并不是这样,它的表头多半是描述性文字,它的数据也有可能是文字,有些位置的数据还有可能是缺失的。xlsread 对这样的文件读取无能为力,或者说需要大量的时间去协调数据的位置信息。要是有一个函数,能够按照原有的顺序直接读取所有的单位格数据就好了。当然,这时候返回的矩阵就不能是一个数值矩阵了,它将会是一个cell矩阵,里面的每个元素类型可能不一样。 matlab本身并不提供这个功能,但是另外有一个函数officedoc完美的实现这个功能。这个函数包可以去OfficeDoc官方网站上去下载,解压缩后放到工作路径上即可。使用方法可以查询help officedoc。officedoc是收费函数包,但有免费版本,而且其免费版本可以实现上面我们所说的效果(收费版本主要是可以用来修改office文件)。 例子: 在matlab中读取xls格式的文件内容如应用如下函数: 1.bb=xlsread('c:feature.xls','a0:an40'),其中:c:feature.xls为文件存放的地址,a0:a40为将要读取的单元格的范围.bb为读取的矩阵在MATLAB中的变量名. 2.使用m文件脚本如下: Excel = actxserver('Excel.Application'); set(Excel, 'Visible', 1); Workbooks = Excel.Workbooks; Workbook = invoke(Workbooks, 'Open', [cd,'\feature\ABC.xls']); %% 读取ABC.xls:sheet1 a1(即R1C1)~an40(即R240c40) 范围内的 40by40 矩阵read_excel=ddeinit('excel','ABC.xls:sheet1'); feature1 = ddereq(read_excel, 'R1c1:R40c40'); feature1 %% 关闭ABC.xls invoke(Excel, 'Quit'); delete(Excel); 注意:在使用时将m文件与xls文件存于同一个目录下.另外:sheet1:可以重命名,且读取sheet的名称要和实际存放的名称相同. matlab读取excel,txt文件函数 注意matlab不识别中文,读写的文件中最好不含有中文 excel读取函数xlsread

Excel中 的日期格式转换问题

Excel中日期格式转换问题 工作表中出生年月格式格式是如:19870705 19861106 19881109如果想改成1987-7-5或改成1987年7月7日。1、就用此函数插入一列如B列,B1=(LEFT(A1,4)&"-"&MID(A1,5,2)&"-"&RIGHT(A1,2))+0 其它单元格可以用此公式自动填充。然后把此单元格设置成日期2001-3-14 ;2、插入一列如B列 B1=(LEFT(A1,4)&"年"&MID(A1,5,2)&"月"&RIGHT(A1,2)&"日")+0 其它单元格可以用此公式自动填充。然后把此单元格设置成日期2001年3月14 日。 把这种格式2009.2.22转换成2009-02这样的格式:假如原始数据在A列从A1开始,则在B1输入公式=TEXT(SUBSTITUTE(A1,".","-"),"yyyy-mm"),然后下拉复制公式即可。 在Excel中将非日期格式数据转换为日期格式 如果Excel表格中有大量的类似“20090510”、“2009.5.10”非日期格式的数据要转换为日期格式,如“2009-5-10”,可以用分列的方法: 1.选择需要转换单元格或区域,单击菜单“数据→分列”,弹出“文本分列向导- 3之步骤1”对话框。如果是Excel 2007,则在功能区中选择“数据”选项卡,在“数据工具”组中,单击“分列”按钮。 2.单击两次“下一步”,在“文本分列向导- 3之步骤3”中,在“列数据格式”中选择“日期”。还可以根据需要,在其后的下拉列表中选择一种日期格式。本例为默认的“YMD”格式。 3.单击“完成”按钮,Excel会在原单元格或区域中将数值格式的“20090510”和文本格式的 “2009.5.10”转换为日期格式“2009-5-10”。 另外,对于“2009.5.10”文本格式的数据,还可以将“.”替换为“-”,也可以转换为日期格式。 在EXCEL中如何利用身份证号码计算出生年月年龄及性别 1、身份证号码简介(18位): 1~6位为地区代码;7~10位为出生年份;11~12位为出生月份;13~14位为出生日期;15~17位为顺序号,并能够判断性别,奇数为男,偶数为男;第18位为校验码。 2、确定“出生日期”: 18位身份证号码中的生日是从第7位开始至第14位结束。提取出来后为了计算“年龄”应该将“年”“月”“日”数据中添加一个“/”或“-”分隔符。 ①正确输入了身份证号码。(假设在D2单元格中) ②将光标定位在“出生日期”单元格(E2)中,然后在单元格中输入函数公式 “=MID(D2,7,4)&"-"&MID(D2,11,2)&"-"&MID(D2,13,2)”即可计算出“出生日期”。

如何将Excel中的数据导入MATLAB并在MATLAB中画出图像

1. 如何将Excel中的数据在MATLA界面下显示出来: 首先Excel必须是office 的(WPS勺不可以,MATLA不能识别),在MATLA中使用命令xlsread读取Excel中的数据到MATLA里,如下所示:[number,txt,raw]=xlsread('noise.xlsx'),此时读取的文件须在MATLA默认路径下,命令具体用法及参数含义可直接用help 命令在MATLA中查找。读取的数据界面如下: [0.2i60] [0.24SO] [0.2500] [0.2520] [0.2540] [0.2560] [0.2580] [0.25Q0] [0.2620] [0. 2640] [0. 2660] [0.2680] [0.2700] [0.2720] [0.2740] [0. 2760] [23.6000] [ 28] [30.4000] 125-2000] [ 18] [19.2000] [2L 2000] [17. 20Q0] [16.SOOO] [17.6000] [13.6000] [11.2000] [13.6000] [13.2000] [ 10] [12.4000] 2. 如何将Excel中的数据导入MATLA并在MATLA中画出图像? 首先Excel必须是office 的(WPS勺不可以,MATLA不能识别),file-Import Data- 在工作路径下找到需要导入的文件(图3)-点击 打开(图4)-点击next-点击finish- 导入成功-在workspace中看到图5 (导入的数据)。至此数据导入成功。下面是如何利用该数据绘图:法一:双击workspace中的data打开如图6,选中要画图的数据如图7 (数据范围可以根据需要随便选择),点击上方的plot(data (1:874,1:2),画出图像如图8,并且在工作空间中自动显 示画图命令。 法二:直接在工作空间中写画图命令。 >> [number, txt raw!=zlsr*ad C noise.xlsz J) riunber 二 0.246023. 6000 0.24SC 2& 0000 0.2500 30. 4000 0. 2520 25.2000 0. 2E40 18. 0000 0.2560 2000 Di 2580 21. 2000 0.2600 17.2000 0. 2620 16.3000 0. 2640 17. 6000 0. 13. 6000 0* 26SA 1],2000 0. 2700 13. SQ00

如何在excel中设置日期时间格式

excel中日期时间格式转换问题 1.2009/05/15 如何转换为20090515这种数字格式。 2.23:03:00 如何转换为230300这种数字格式。 谢谢。 2009/05/15 如何转换为20090515这种数字格式 先选中该列或该单元格,鼠标右击,“设置单元格格式”,“数字”,“自定义”,在类型处输入 yyyymmdd 确定 23:03:00 如何转换为230300这种数字格式。 先选中该列或该单元格,鼠标右击,“设置单元格格式”,“数字”,“自定义”,在类型处输入 hhmmss 确定 在excel列中设置好了日期的格式yyyy-m,为何输入的是20049,却变成1956-10-而且这列中的每行都是这样? 1, 你输入的20049本身不是日期格式,你应该输入2004/09/01 那么,显示为:2004-9 2,你设置为特殊格式0000-00,你输入时输入:200409 将会显示为:2004-09 (月份考虑2位) 如何在excel中设置日期格式 比如:一列的数据是2008.04.29,令一列是2008.05.29,我想求两个日期的天数,但在设置日期格式为2008-4-29时没有反应,是不是这种格式的时间不能设置成日期的格式啊? 2008-4-9 2008-5-9 然后选择设置单元格格式-数字-日期-示例里面选择你需要显示日期的格式 如何设置excel中的日期格式 右键---设置单元格式---数字---自定义---类型中将“yyyy-m-d”修改为“yyyymmdd”,确定。 如何在excel表格中的某一单元格设置日期格式.如果输入的不是日期格式就会出错

excel中的数据导入matlab中

用Excel Link实现Excel与Matlab混合编程 Excel Link是一个在Windows环境下实现Excel与Matlab进行链接的插件。通过连接Excel 和Matlab,用户可以在Excel工作表空间和宏编程工具中使用Matlab的数值计算,图形处理等功能,不需要脱离Excel环境。同时由Excel Link来保证两个工作环境中的数据交换和同步更新。 1. Excel Link的安装和和设置首先,在系统中安装Excel软件。然后安装Matlab和Excel Link,用Matlab安装盘开始安装,选择自定义安装中,在选中组件ExcelLink,如下图所示:安装完Excel Link后还需要在Excel中进行一些设置后才能使用。启动Excel,选择菜单“工具”项下的“加载宏”项,弹出如下对话框:选中Excel Link项。如果该项不存在,则通过浏览目录,在目录%MATLAB%toolboxexlink下找到excllink.xla文件,如下图示,并确定。选中ExcelLink项并确定后,在Excel中多了一个Excel Link工具条,如下图示: 经过以上的设置后就可以开始使用Excel Link了。 2. ExcelLink连接管理函数 (1) Matlabinit 该函数只能在宏子例程中使用。初始化ExcelLink和启动Matlab进程。只有在MLAutoStart 函数中使用“no”参数,才需要手动使用Matlabinit来初始化ExcelLink和启动Matlab进程,如果使用参数“yes”,则Matlabinit是自动执行的。 使用语法:Matlabinit (2) MLAutoStart 设置自动启动Matlab和ExcelLink。 在工作表中的使用语法: MLAutoStart("yes") MLAutoStart("no") 在宏中的使用语法: MLAutoStart "yes" MLAutoStart "no" 使用“yes”参数,则当Excel启动时,自动启动Matlab和ExcelLink;如果使用参数“no”,则当Excel启动时,不启动Matlab和ExcelLink。如果在此之前它们已经启动,则无任何影响。 (3) MLClose 终止Matlab进程并删除Matlab工作空间的所有变量。并通知Excel,Matlab不再运行。 在工作表中的使用语法: MLClose() 在宏中的使用语法: MLClose (4) MLOpen 启动Matlab进程。如果Matlab进程已经启动,则MLOpen函数不进行任何操作。在使用MLClose关闭Matlab进程后使用MLOpen来重新启动Matlab。 在工作表中的使用语法: MLOpen() 在宏中的使用语法: MLOpen

基于MATLAB的EXCEL数据计算与分析

基于MATLAB的EXCEL数据计算与分析 潜刘方 摘要:再怎么样希望先看摘要,阅读本文需要一定的MATLAB基础知识,不需要excel相关知识。结合本人近期工作上的需要测量计算,想偷懒就选择了利用MATLAB偷懒,于是便有了本文。本文首先利用MATLAB读取数据,计算,将数据写入excel,然后花了很大的精力来根据实际需要画图,最后将图保存在excel所在的文件夹下。这个m文件可谓花了我不少的时间和精力。最后根据m文件的不足(不能将图形输入到excel文档当中),进一步弥补这不足,就有了exlink(也叫excel link),在网上搜索了相关的知识,发现很多关于exlink 的培训,觉得实在可笑,所以就将exlink的使用写的比较详细,以供读者自行分析体会。关键字:MATLAB excel exlink接口 一、前沿 MATLAB是一款应用在各个领域的数学软件,最初叫做矩阵实验室,专用于矩阵的运算,后来的版本再各个领域都得到了很好的应用,比如:通信、电力电子、电机控制、运动控制、计算机控制、自动控制,DSP数字信号处理。但是MATLAB对于数据的处理与可视化是很多软件所不能及的。 EXCEL作为办公必备软件,能对简单数据分析计算与作图分析,但是处理复杂数据显得力不从心,比如三维作图就无法利用EXCEL作出;EXCEL本身的函数远远没有MATLAB 多,MATLAB作为数据有其独特的优势,集成了很多数学函数,包括数据拟合差值等。MATLAB 可以从EXCEL中读取数据,经过相关运算之后又可以将数据写入EXCEL,假如需要重复性的对excel可以利用MATLAB编写函数,每次只要运行MATLAB程序就可以完成,大大节省时间和精力。 另外,MATLAB还有与EXCEL的接口,叫做EXLINK,运用这个接口可以在excel中完成MATLAB函数的调用,还能传送数据给MATLAB,从MATLAB当中读取数据,从MATLAB 当中读取图形,使用方便,操作简单。 二、基于MATLAB的数据分析 数据分析操作流程主要分为三步:第一步,从excel中读取数据;第二部:利用MATLAB 大量函数对数据分析处理;第三步:将分析结果写入excel中。在整个过程中,不需要打开excel软件,操作十分方便,每次操作唯一要做就是修改excel所在的目录及文件名。主要函数如下(具体使用方法可在MATLAB命令窗口输入help+函数名查看):Xlsread从excel中读数据 Xlswrite向excel中邪数据 num2str将数字转换为字符串 strncmp字符串比较 polyfit数据拟合 polyval具体数值代入求值 plot作图

EXCEL日期与时间函数大全

1.DATE 用途:返回代表特定日期的序列号。 语法:DATE(year,month,day) 参数:year为一到四位,根据使用的日期系统解释该参数。默认情况下,Excel for Windows使用1900日期系统,而Excel for Macintosh使用1904日期系统。Month代表每年中月份的数字。如果所输入的月份大于12,将从指定年份的一月份执行加法运算。Day 代表在该月份中第几天的数字。如果day 大于该月份的最大天数时,将从指定月份的第一天开始往上累加。 注意:Excel按顺序的序列号保存日期,这样就可以对其进行计算。如果工作簿使用的是1900日期系统,则Excel会将1900年1月1日保存为序列号1。同理,会将1998年1月1日保存为序列号35796,因为该日期距离1900年1月1日为35795天。 实例:如果采用1900日期系统(Excel默认),则公式“=DATE(2001,1,1)”返回36892。 2.DATEVaLUE 用途:返回date_text所表示的日期的序列号。该函数的主要用途是将文字表示的日期转换成一个序列号。 语法:DATEVaLUE(date_text) 参数:Date_text是用Excel日期格式表示日期的文本。在使用1900日期系统中,date_text必须是1900年1月1日到9999年12月31日之间的一个日期;而在1904日期系统中,date_text必须是1904年1月1日到9999年12月31日之间的一个日期。如果date_text超出上述范围,则函数DATEVaLUE返回错误值#value!。 如果省略参数date_text中的年代,则函数DATEVaLUE使用电脑系统内部时钟的当前年代,且date_text中的时间信息将被忽略。 实例:公式“=DATEVaLUE("2001/3/5")”返回36955,DATEVaLUE("2-26")返回36948。 3.DAY 用途:返回用序列号(整数1到31)表示的某日期的天数,用整数1 到31 表示。 语法:DAY(serial_number) 参数:Serial_number是要查找的天数日期,它有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如1900日期系统的35825表示的1998年1月30日),以及其他公式或函数的结果(如DATEVaLUE("1998/1/30"))。 实例:公式“=DAY("2001/1/27")”返回27,=DAY(35825)返回30, =DAY(DATEVaLUE("2001/1/25"))返回25。 4.DAYS360 用途:按照一年360天的算法(每个月30天,一年共计12 个月),返回两日期间相差的天数。 语法:DAYS360(start_date,end_date,method)

matlab读取txt和excel

Text的读写 1.读文本文件 fid=fopen('matlab3.txt','r') %我已把txt放入matlab默认文件夹 a=fscanf(fid,'%s') 2.写文本文件 fid=fopen('matlab3.txt','a'); a=[1,2,6666,8]; fprintf(fid,'%d',a); fclose(fid); fid1=fopen('matlab3.txt','r'); b=fscanf(fid1,'%s') 注:1)打开文件fid=fopen(文件名,‘打开方式’) 其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。文件名用字符串形式,表示待打开的数据文件。常见的打开方式如下:‘r’:只读方式打开文件(默认的方式),该文件必须已存在。 ‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。 ‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。 ‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。 ‘a’:在打开的文件末端添加数据。文件不存在则创建。 ‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。 2)关闭文件 文件在进行完读、写等操作后,应及时关闭,以免数据丢失。关闭文件用fclose函数,调用格式为: sta=fclose(fid) 说明:该函数关闭fid所表示的文件。sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。如果要关闭所有已打开的文件用fclose(‘all’)。1)读文本文件 fscanf函数可以读取文本文件的内容,并按指定格式存入矩阵。其调用格式为: [A,COUNT]=fscanf(fid,format,size) 说明:其中A用来存放读取的数据,COUNT返回所读取的数据元素个数,fid为文件句柄,format用来控制读取的数据格式,size为可选项。 2)写文本文件 fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式为: fprintf(fid,format,A) 说明:fid为文件句柄,指定要写入数据的文件,format是用来控制所写数据格式的格式符,与fscanf函数相同,A是用来存放数据的矩阵。

Excel中如何将日期格式进行转换

在 EXCEL中如何将日期格式转换 如何将 19000101格式转换成 1900-01-01 的格式? 如果日期所在单元格在 A 列,并从 A1 开始。 1、插入一辅助列 B 列, 2、在 B1 输入: =MID(A1,1,4)&-MID(A1,5,2)&-MID(A1,7,2)回车, 3、向下填充该公式。 4、选中 B 列→复制→粘贴→选择性粘贴→数值→确定 5、删除 A 列 在 EXCEL中如何利用身份证号码提取出生时间 假设身份证号在A1,时间格式为 1900-1-1 =IF(LEN(A1)=15,"19"&MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2),MID(A1,7,4)&"- "&MID(A1 ,11,2)&"-"&MID(A1,13,2)) 在 EXCEL中如何利用身份证号码提取性别 =IF(LEN(A1)=15,IF(MOD(MID(A1,15,1),2)=1,"男 "," 女") , IF(MOD(MID(A1,17,1),2)=1,"男 "," 女") ) 在 EXCEL中如何利用身份证号码计算周岁 假设身份证号在 C1,时间格式为 1900-1-1,出生时间为 X 答案 1: =DATEDIF(IF(LEN(A1)=15,"19"&MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2),MID(A1,7,4)&"-" &MID(A1,11,2)&"-"&MID(A1,13,2)),TODAY(),”y”) 简化之: =DATEDIF(X,TODAY(),”y”) 答案 2: =TEXT(TODAY()-IF(LEN(C1)=15,"19"&MID(C1,7,2)&"-"&MID(C1,9,2)&"-"&MID(C1,11,2),MID(C1,7,4) &"-"&MID(C1,11,2)&"-"&MID(C1,13,2 )),"yy") 简化之: =TEXT(TODAY()-”X,yy”) 在 EXCEL中如何利用身份证号码计算周岁 假设身份证号在C1: =IF(C1="","",IF(IF(LEN(C1)=15,"19"&MID(C1,7,2)&"-"&MID(C1,9,2)&"-"&MID(C1,11,2),MID(C1,7,4) &"-"&MID(C1,11,2)&"-"&MID(C1,13,2))>"2009-12-31","",TEXT(TODAY()- IF(LEN(C1)=15,"19"&MID( C1,7,2)&"-"&MID(C1,9,2)&"-"&MID(C1,11,2),MID(C1,7,4)&"- "&MID(C1,11,2)&"-"&MID(C1,13,2))," yy")))

matlab基础xlsread

在一篇文章里看到了MATLAB对Excel文件的操作。当然,最简单的是选状态栏中的Import 了,在这里作者提供了两种读取Excel文件的方法。 1 利用matlab从excel中读取数据使用 1.1 uiimport可视化导入命令 只需要在command window中输入uiimport,出现这个窗口后你就懂了 1.2 用xlsread读Excel,不仅适合后缀为xls的文件,07版xlsx也适用 假设excel表的文件名为book1.xls,存放在E:\ 读取命令:data = xlsread('E:\book1'); 这样就将excel中的数据读入到data中了,但这个命令只能用来读数值,无法读取文字。如果读取数值的同时想读取excel中的文字可以使用下面的命令: [data,text] = xlsread('E:\book1'); 命令执行后数值在data数组中,文字在text中,text为cell类型 xlsread命令参数如下 data = xlsread(filename, sheet, range) sheet代表从哪个表中读入数据,range代表读入数据区间例如:'A2:D4' 2. 用matlab将数据写入excel中 xlswrite(filename, M, sheet, range) 例:xlswrite('E:\text.xls',M,sheet2,'A3:E5') M为要写入的数据,可以是矩阵也可以是cell 类型 注:MATLAB中读写Excel的函数有 xlsfinfo检查文件是否包含excel表格;xlread读写excel文件;xlswrite写excel文件。xlsread的调用格式为: 1. num=xlsread('filename')从excel文件filename的第一个工作页中读取所有的数据到double 型数据num中。它忽略头行、头列、尾行、和尾列的所有单元为文本的行列,其他单元中的文本全部读取为NaN。 2. num=xlsread('filename',-1)手动框选要读取的数据块,返回到矩阵num中。

相关文档
最新文档