MATLAB如何导入excel数据
下面我就通过实例介绍一下MATLAB如何导入excel数据。
1.读取sheet1中的所有数据
我们以03版excel为例,假设excel中数据为
默认这些文本以及数字都放在sheet1中,我们将此excel选入当前工作目录(必要步骤),然后再MATLAB主窗口中输入下面命令:[NUM,TXT,R AW]=xlsread('example'),其中example是你的excel名,这里我所有
的数据都在example.xls中。
输入以上命令,回车
NUM返回的是excel中的数据,TXT输出的是文本内容,RAW输出的是未处理数据,这里因为文本占用的矩阵一共是8行6列,所以就输出了如上内容。
一般情况下,我们读取的都是excel中的数据,所以可以直接用[NUM]=xlsread('example'),只输出数据矩阵便可。
2.读取指定sheet中的数据
假如我们想读取第二个sheet中的数据,这里请注意:matlab读取exce l中的数据是按照sheet在excel中的排放顺序来的,sheet3现在排在
第二位,我们输入命令[NUM]=xlsread('example',2),回车结果如下:
3.读取指定单元格中的数据
以sheet2中的数据为例
假设我们读取A3-D7之间的数据,那么我们输入命令[NUM]=xlsread('ex ample',2,'A3:D7'),回车,结果如下:
4.如果以上经验有用,请点击下方的有用按钮支持我的工作,谢谢!。
把MATLAB中的矩阵转移到Excel中
%把MATLAB中的矩阵转移到Excel中%可能程序用不了这么复杂,有很多语句可以去掉,大家仅供参考吧。
%有很多pause语句,试用起来可能很不方便excel=actxserver('Excel.Application');%启动Excel并返回名为excel的Activex服务器对象disp('为看清Excel界面及其变化,请把MATLAB界面调整的远小于屏幕!') disp('按任意键,将可看到“Excel界面”出现。
')pauseset(excel,'Visible',1); %使开启的Excel默认界面可见disp('按任意键,可见到Excel界面出现第一张表激活的“空白工作薄”。
') pausewkbs=excel.Workbooks; %新工作薄句柄Wbk=invoke(wkbs,'Add'); %产生空白的新工作薄disp('按任意键,当前激活表由第一张变为指定的第二张。
')pauseSh=excel.ActiveWorkBook.Sheets; %当前激活工作薄的表格句柄sh2=get(Sh,'Item',2); %取得第二张表的句柄invoke(sh2,'Activate'); %使第二张表为当前激活页disp('按任意键,把MATLAB空间中的A矩阵送到Excel的指定位置。
') pauseActsh=excel.Activesheet; %当前激活表的句柄A=[1,3,5,7,9;2,4,6,8,0;3,6,9,12,15;4,8,12,16,20];actshrng=get(Actsh,'Range','A1','E4'); %得到当前表指定区域的句柄set(actshrng,'Value',A); %把A矩阵送到Excel的指定区域disp('按任意键,获取Excel指定区域内的数据,') %第21行disp('并以MyExcel.xls文件形式保存在D:\MATLAB7\work目录上。
matlab批量导入excel
使用前应查清楚每个网格的测试条数及当前信标最大标号LoadMultiExcels(Grid_simpl,Beacon_num)Grid_simpl 测试条数Beacon_num 信标最大标号function newsheet = addsheet(WorkSheets,Sheet)% Add new worksheet, Sheet into worsheet collection, WorkSheets.if isnumeric(Sheet)% iteratively add worksheet by index until number of sheets == Sheet.while WorkSheets.Count < Sheet% find last sheet in worksheet collectionlastsheet = WorkSheets.Item(WorkSheets.Count);newsheet = WorkSheets.Add([],lastsheet);endelse% add worksheet by name.% find last sheet in worksheet collectionlastsheet = WorkSheets.Item(WorkSheets.Count);newsheet = WorkSheets.Add([],lastsheet);end% If Sheet is a string, rename new sheet to this string.if ischar(Sheet)set(newsheet,'Name',Sheet);endendclcclear allgrid_num_sum = 10;grid_simpl_num = 50;beacon_num = 24;xlsstr={};xlsdata={};%data_path = uigetdir; %选择文件夹%dat_path = 'E:\VS2008项目\数据库\';data_path_chose = uigetdir;all_info = dir(data_path_chose); %读入目录下文件信息存储为结构体形式b=struct2cell(all_info); %将格式转为cell形式c=b(1,:); %取出其中文件名单元[h,l]=size(c); %计算文件个数%% 提取文件名中的数字部分% s='abc_123.dfg';pat='[0-9]*';% matches=regexp(s,pat,'match')%% 批量读入xls_num = 0; %xls文件数for i=1:lif strfind(c{i},'.xls') %如果是xls文件格式注意括号要使用cell的括号if strfind(c{i},'测试')continue;endtemp = regexp(c{i},pat,'match'); %%提取名字中数字部分用于排列命名index_temp = cell2mat(temp); %%格式转换if (~ischar(index_temp) || ndims(index_temp)>2) %文件名不为数字则跳过continue;endxls_num = xls_num +1;index = str2num(index_temp); %若文件名不包含数字则会出错id_db(:,xls_num) = index;data_path = data_path_chose;data_path = strcat(data_path,'\');data_path = strcat(data_path,c{i});[str{index},data{index}]=xlsread(data_path);endendscale_struct = size(data);scale_cell = size(data{1,1});grid_Num = scale_struct(1,2);DB_original = zeros(xls_num*grid_simpl_num,beacon_num*2+1);%49=48(rssi + num)+1(id),网格数35,每格子测试100条index = 1;ID_max = max(id_db);%% 把所有网格测试整理为一张大表并把十六进制转为十进制%%for i = 1:ID_maxif ~any(id_db == i) %没有此序列continue;endfor row = 2:grid_simpl_num+1for col = 3:50DB_original(index,1) = i;aa =data{1,i}{row,col};DB_original(index,col-1) = hex2dec(aa);endindex = index + 1;endendsaveDB_path_t = strcat(data_path_chose,'\');saveDB_path = strcat(saveDB_path_t,'DB_original');save(saveDB_path,'DB_original');%% 批量存Excel%current_path = pwd;[pathstr,name,ext,versn] = fileparts(data_path_chose);% pathstr = E:\VS2008项目\数据库% name =测RSSI_0721_实验测试% ext =.xls% versn =''save_path = strcat(saveDB_path_t,name);suffix = '.xls';save_path = strcat(save_path,suffix);for i =1:xls_num% if ~any(id_db == i) %没有此序列% continue;% end% xlswrite('data.xls',R,'Sheet1',s);grid_temp = DB_original(grid_simpl_num*(i-1)+1:grid_simpl_num*i,2:49); % 每grid_simpl_num存一次s = sprintf('%d', DB_original(grid_simpl_num*i,1));xlswrite(save_path,grid_temp,s);warning off MATLAB:xlswrite:AddSheet;endmsgbox('数据已处理完毕!','确认');function LoadMultiExcels(Grid_simpl,Beacon_num)% this function is supposed to be used for load all excels in one special% file.% by Liu Wen long in BUPT,10/07/24if (~nargin == 2)||(~isnumeric(Grid_simpl))...||(~isnumeric(Beacon_num)) %判断输入变量个数error('输入参数应数目为2,类型应为整型!');end%grid_num_sum = Grid_num;grid_simpl_num = Grid_simpl;beacon_num = Beacon_num;xlsstr={};xlsdata={};%data_path = uigetdir; %选择文件夹%dat_path = 'E:\VS2008项目\数据库\';data_path_chose = uigetdir;all_info = dir(data_path_chose); %读入目录下文件信息存储为结构体形式b=struct2cell(all_info); %将格式转为cell形式c=b(1,:); %取出其中文件名单元[h,l]=size(c); %计算文件个数%% 提取文件名中的数字部分% s='abc_123.dfg';pat='[0-9]*';% matches=regexp(s,pat,'match')%% 批量读入xls_num = 0; %xls文件数for i=1:lif strfind(c{i},'.xls') %如果是xls文件格式注意括号要使用cell的括号if strfind(c{i},'测试')continue;endtemp = regexp(c{i},pat,'match'); %%提取名字中数字部分用于排列命名index_temp = cell2mat(temp); %%格式转换if (~ischar(index_temp) || ndims(index_temp)>2) %文件名不为数字则跳过continue;endxls_num = xls_num +1;index = str2num(index_temp); %若文件名不包含数字则会出错id_db(:,xls_num) = index;data_path = data_path_chose;data_path = strcat(data_path,'\');data_path = strcat(data_path,c{i});[str{index},data{index}]=xlsread(data_path);endendscale_struct = size(data);scale_cell = size(data{1,1});grid_Num = scale_struct(1,2);DB_original = zeros(xls_num*grid_simpl_num,beacon_num*2+1);%49=48(rssi + num)+1(id),网格数35,每格子测试100条index = 1;ID_max = max(id_db);%% 把所有网格测试整理为一张大表并把十六进制转为十进制%%for i = 1:ID_maxif ~any(id_db == i) %没有此序列continue;endfor row = 2:grid_simpl_num+1for col = 3:50DB_original(index,1) = i;aa =data{1,i}{row,col};DB_original(index,col-1) = hex2dec(aa);endindex = index + 1;endendsaveDB_path_t = strcat(data_path_chose,'\');saveDB_path = strcat(saveDB_path_t,'DB_original');save(saveDB_path,'DB_original');%% 批量存Excel%current_path = pwd;[pathstr,name,ext,versn] = fileparts(data_path_chose);% pathstr = E:\VS2008项目\数据库% name =测RSSI_0721_实验测试% ext =.xls% versn =''save_path = strcat(saveDB_path_t,name);suffix = '.xls';save_path = strcat(save_path,suffix);for i =1:xls_num% if ~any(id_db == i) %没有此序列% continue;% end% xlswrite('data.xls',R,'Sheet1',s);grid_temp = DB_original(grid_simpl_num*(i-1)+1:grid_simpl_num*i,2:49); % 每grid_simpl_num存一次s = sprintf('%d', DB_original(grid_simpl_num*i,1));xlswrite(save_path,grid_temp,s);warning off MATLAB:xlswrite:AddSheet;endmsgbox('数据已处理完毕!','确认');end %function LoadMultiExcels()。
如何将Excel中的数据导入MATLAB并在MATLAB中画出图像
首先Excel必须是office的(WPS的不可以,MATLAB不能识别),在MATLAB中使用命令xlsread读取Excel中的数据到MATLAB里,如下所示:[number,txt,raw]=xlsread(''),此时读取的文件须在MATLAB默认路径下,命令具体用法及参数含义可直接用help命令在MATLAB中查找。
读取的数据界面如下:
1.如何将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并在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并在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. 60000.24SC 2& 00000.2500 30. 40000. 2520 25.20000. 2E40 18. 00000.2560 2000Di 2580 21. 20000.2600 17.20000. 2620 16.30000. 2640 17. 60000. 13. 60000* 26SA 1],20000. 2700 13. SQ00Import Data査找范圉(X):库计算机网貉名称'悸改日期,,noise.rriat2014/3/1S 19:181^gnoisenKlsx2014/3/1& 19:01I HKTIAB ▼> ®文件名曲):iriOL XISX文件类型⑴;Recognized Filww取消 |JJWorkspace圄■鱼1鲂I^Lr Select data ...〒Name *田[甌Value<874x2 double* rrrCommand Window■+* □ ? X>> plol (datadia?^ I. = 2), J DisplayMafte J p J dataCl;874? 1;2)a ? J YDataSource 1/ data(i:B74? 1:2^ ) .f igurt (ecf)九—K —图81 f 4New to MATLAB? Watch thi$ Sdg see 口旳口轧 or read Getting 5t^rt 亡cLNew Parallel D”ktq 因❼Ctirrent F file Edit 0ew Ins-ert lo&ls Desktop Window Help□ U 矗B |輿耳U 物穏摇TO □囲I ■口IXCommaHd Window。
《金融数量分析 》第3章 MATLAB与Excel文件的数据交换
回到加载宏对话框,接着选择Excel Link2.3 for use with MATLAB 选项,单击“确 定”按钮,如图1所示。
若Excel的左上方出现start matlab、putmatrix、getmatrix、evalstring 等选项,说明 ExcelLink加载成功,如图2所示。
2. data= xlsread(filename, sheet, range)
输入参数: Ø filename:目标文件地址(若文件在MATLAB当前的工作目录中, filename为“文件名”,如果文件不在MATLAB当前的工作目录中, filename为“文件路径\文件名”); Ø sheet:数据表名称,例如Excel默认表名称sheet1; Ø range:数据所在位置,例如A1、B13等。
3.1 案例背景
Excel是一款非常优秀的通用表格软件,在学习、工作与科研中 大量的数据可能都是以Excel表格的方式存储的。Excel在矩阵计算、 数据拟合与优化算法等方面的功能尚不足,Excel与MATLAB相结合 是处理复杂数据问题的有效方法。
如何利用MATLAB强大的数值计算功能处理Excel中的数据,首 要解决的问题就是如何将Excel中的数据导入MATLAB中或将 MATLAB数值计算的结果转存入Excel中。
3. 5.2 smoothts函数
smoothts函数的输入参数input是一个金融时间序列对象或行导向矩阵,其中 金融时间序列对象是MATLAB中由ascii2fts或fints函数所创建的一种对象,行导 向矩阵是指用行表示观测数据集的矩阵,若input是一个行导向矩阵,input的每 一行都是一个单独的观测集。
输出参数: Ø data: 数值数据。
matlab与excel
8.[num, txt]= xlsread(filename, …) 返回数字矩阵 num 和文本数据 txt. txt 是一个元胞数组,如同例 7.1-1 中的 textdata,txt 中与数字对应 位置的元胞为空字符串( '')。 9.[num, txt, raw] = xlsread(filename, …) num 和 txt 的解释同上,返回的 raw 为未经处理的元胞数组,既包含数字,又包含文本数据。
第 7 章 MATLAB 与 Excel 文件的数据交换
郑志勇 (),谢中华 Excel 是一款非常优秀的通用表格软件,在学习、工作与科研中大量的数据可能都是以 Excel 表格的 方式存储的。如何利用 matlab 强大的数值计算功能处理 Excel 中的数据,首要解决的问题就是如何将 Excel 中的数据导入到 matlab 中或将 matlab 数值计算的结果转存入 Excel 中?为此,本章主要介绍以界面 操作方式(数据导入向导)、函数方式和 exlink 宏方式实现 matlab 与 Excel 的数据交互。
>> data data = 1 2 3 4 5 … >> textdata textdata = 60101 60101 60101 60101 60101 6010101 6010102 6010103 6010104 6010105 NaN NaN NaN NaN NaN 0 0 0 0 0 63 73 0 82 80 63 73 0 82 80 % 查看导入的变量 data
7.1 利用数据导入向导导入 Excel 文件
可以利用数据导入向导把 Excel 文件中的数据导入到 MATLAB 工作空间,步骤与 6.2.1 节相同。 【例 7.1-1】把 Excel 文件 examp71_1.xls 中的数据导入到 MATLAB 工作空间。examp71_1.xls 中的数 据格式如图 7.1-1 所示。
如何将matlab中的数据导入excel的方法
如何将matlab中的数据导入excel的方法
如何将matlab中的数据导入excel的方法
如何将matlab中的数据导入excel的方法:
matlab中的数据导入excel步骤2:然后找到你要存放文件的位置复制绝对路径(致谢文件名的话就会存放在当前目录中),如图以f盘根目录为例)
matlab中的数据导入excel步骤3:然后写xlswrite函数,格式如图,具体格式课参看helpxlswrite,如图
matlab中的数据导入excel步骤4:xlswrite函数前一项是路径,后一项是要输出的矩阵。
matlab中的数据导入excel步骤5:然后点击执行,等待一下,就会在指定位置新建xls文件,打开如图:
matlab中的数据导入excel步骤6:如要竖着输出数据的话,将矩阵转置即可
matlab中的数据导入excel步骤7:在后面可控制输出数据在xls 中的范围,如A:D,2:16等
注意:转置后原来的数据只会被覆盖不会消失
matlab中的数据导入excel步骤8:要读出xls中的文件时可用函数xlsread用法相同。
Matlab导入Excel数据
方法二利、用xlsread命令导入Excel数据:
首先需要将Excel文件保存到当前Matlab路径下-->新建m文件-->输入 data=xlsread(filename,sheet,xlRange),其中filename是Excel文件名,sheet是要导入数据所 在的sheet,xlRange是数据表中的范围。
方法三:利用dir命令导数包含字符串的Excel数据:
使用dir命令读入文件名,再用赋值命令得到所要数据。此时导入的file中不
止有数据,还有其他字符串,比如汉字、日期之类数据的三种方法做一下总结 1.打开Matlab; 2.方法一:利用Matlab自带数据导入工具导入数据,选择导入数据 类型; 3方法二:利用xlsread(filename,sheet,xlRange),命令导入数据,要 求Excel文件在当前文件夹路径下; 4.方法三:若要导入的不止有数据还包括其他的字符串,就用 dir(‘*.xlsx’)命令导入一个结构体,在从结构体中取出想要的部分;
Matlab导入Excel数 据
MATLAB导入EXCEL数据的三种方法:
比如数学建模之类的很多地方都需要将Excel中的数据导入Matlab中进行处理。 这里告诉你三种Matlab导入Excel数据的方式。
在电脑桌面双击Matlab图标,进入Matlab,第一次打开Matlab可能需要一段时间, 请耐心等待。一般来说固态硬盘的要比机械硬盘快很多。
方法一:使用Matlab"数据导入"工具导入Excel数据:
1.点击主页-->在变量工具栏找到"数据导入“ 2.找到要导入数据的Excel表左键点击-->打开
matlab中怎么导入数据
或 直接复制
Matlab中怎么读入图片
I=imread('F:\Matlab\shibie\1.jpg');
思考
若有15个图片,分别以000.bmp,001.bmp,…, 014.bmp命名,如何将其读入Matlab并存在一个 矩阵A中?
思考解答
for i=1:15 if i<11 str=['00',num2str(i-1),'.bmp']; else str=['0',num2str(i-1),'.bmp']; end A(:,:,i)=imread(str); end
A = pi*100*ones(1,5); sprintf(' %f \n %.2f \n %+.2f \n %12.2f \n %012.2f \n', A)
Matlab中怎么保存数据
1.打开workspace,直接复制 2. save abc.txt A -ASCII
Matlab中怎么保存图片
%c %d %e %.2f %s \b \n
一个字符 数值 科学计数法 浮点数,保留小数点后两位小数 字符串 空格 另起一行
Matlab中怎么输出数据
disp(A) fprintf('%s will be %d this year.\n', name, ag8.4f %8.4f\n',n-1,a,b,p);
Matlab中怎么输出数据
A = pi*100*ones(1,5);
disp(['A=',num2str(A)])
fprintf ('%4d %8.4f %8.4f %8.4f\n',n-1,a,b,p);
