matlab怎样导入matlab excel数据读取

1. 读取Excel文件
(a) 命令方式xlsread:&
读取命令:[data,text] &= xlsread(FileName, SheetName, Range);
data保存的是数据单元格的值, text保存的是字符串单元格的内容。
例如:[data,text] &= xlsread('C:\Test\test.xls'', 'testsheet', 'B2:D10');
存储方式为矩阵,和Excel表格中的位置一致。
如果Sheet内都是数据,可直接使用data = xlsread(文件名)。
(b) 界面方式uiimport:&
& &在Matlab中输入命令:uiimport, 弹出如下窗口。不仅可以选择从文件导入,也可从剪贴板中导入。
2. 将MATLAB数据写入到Excel
写入命令:xlswrite(FileName, Output, SheetName, Range)
其中Output为要写入的数据,可以是矩阵也可以是cell类型
例如:xlswrite('C:\test\text.xls', eye(3), 'Sheet1', 'A1:C3') &&
阅读(...) 评论()查看: 12838|回复: 7|关注: 0
如何将Excel中数据导入matlab变量中
<h1 style="color:# 麦片财富积分
新手, 积分 10, 距离下一级还需 40 积分
Excel中数据
000.147.70.3912.40.5817.61.0525.71.4334.751.8943.152.0847.052.3850.52.6753.93.1158.153.3760.05463.34.3562.954.9762.95.59635.8862.556.2262.87.1162.557.7862.38.4161.78.8561.59.3661.19.8260.8510.460.3511.2659.811.8459.6512.4859.5512.8859.8513.8560.4514.3860.814.9861.0515.5661.2516.3661.1516.9161.1517.6561.118.136119.3760.9520.1160.7
将左边一列赋予x,右边一列赋给y
这个怎么操作呢?或者有程序解决么?
论坛优秀回答者
关注者: 59
|此回复为最佳答案
简短的代码,希望对你有所帮助。
[filename,pathname]=uigetfile('*.xls','选择数据文件');
[num txt]=xlsread([pathname,filename]);
x=num(:,1);
y=num(:,2);复制代码
<h1 style="color:# 麦片财富积分
谢谢,不好意思,回复晚了。。。。不过最后没运行出来,求指点
[filename,pathname]=uigetfile('*.xls','选择数据文件');
出现一个选择数据文件的对话框,我选择我要的Excel文件打开后,matlab里面什么也没有执行了
后来我就不知道该怎么弄了
<h1 style="color:# 麦片财富积分
后来试出来了,因为Excel路径为c:\Documents and Settings\Administrator\桌面\6层土参数\桩端土,前面代码就没用你的,后面的用的是你的
代码如下:
numeric=xlsread('c:\Documents and Settings\Administrator\桌面\6层土参数\桩端土')
就可以将数据读入了
如果要将第一列赋值给x,将第二列赋值给y,
接下来代码如下:
x=num(:,1);
y=num(:,2);
论坛优秀回答者
关注者: 59
后来试出来了,因为Excel路径为c:\Documents and Settings\Administrator\桌面\6层土参数\桩端土,前面代码 ...
很高兴能帮得到你。
<h1 style="color:# 麦片财富积分
后来试出来了,因为Excel路径为c:\Documents and Settings\Administrator\桌面\6层土参数\桩端土,前面代码 ...
[img][/img]为什么我的会这样啊?求指导[img=0,1]file:///C:\Users\user\AppData\Roaming\Tencent\Users\\QQ\WinTemp\RichOle\E@A_X9W0R0[~A4N@%Y8TQX5.jpg[/img]
<h1 style="color:# 麦片财富积分
numeric=xlsread('D:\Program Files\MATLAB\R2010b\bin\test.xls')后缀必须是.xls,你的这个不是啊
<h1 style="color:# 麦片财富积分
这样才可以用
num=xlsread('c:\Documents and Settings\Administrator\桌面\6层土参数\桩端土。xlsx')
x=num(:,1);
y=num(:,2);
站长推荐 /2
Powered by您还可以使用以下方式登录
当前位置:&>&&>& > Matlab数据导入方法
matlab导入excel数据 Matlab数据导入方法
● importdata(&#39;filename&#39;,&#39;delimiter&#39;),将filename中的数据导入到工作区中,以delimiter指定的符号作为分隔符;
例13-2 从文件中导入数据。
&& imported_data = importdata(&#39;matlab.mat&#39;)
imported_data =
ans: [1.8 1.6534]
A: [2x3 double]
I_q: [415x552x3 uint8]
num_of_cluster: 3
与load函数不同,importdata将文件中的数据以结构体的方式导入到工作区中。
13.1.3 文件的打开
MATLAB中可以使用open命令打开各种格式的文件,MATLAB自动根据文件的扩展名选择相应的编辑器。
需要注意的是open(&#39;filename.mat&#39;)和load(&#39;filename.mat&#39;)的不同,前者将filename.mat以结构体的方式打开在工作区中,后者将文件中的变量导入到工作区中,如果需要访问其中的内容,需要以不同的格式进行。
例13-3 open与load的比较。
&& A = magic(3);
&& B = rand(3);
Saving to: matlab.mat
&& load(&#39;matlab.mat&#39;)
&& open(&#39;matlab.mat&#39;)
A: [3x3 double]
B: [3x3 double]
&& struc1=
&& struc1.A
&& struc1.B
13.2 文本文件的读写
在上一节中介绍的函数和命令主要用于读写mat文件,而在应用中,需要读写更多格式的文件,如文本文件、word文件、xml文件、xls文件、图像文件和音视频文件等。本节介绍文本文件(txt)的读写。其他文件的读写,用户可以参考MATLAB帮助文档。
MATLAB中实现文本文件读写的函数如表13-1所示。 表13-1 MATLAB中文本文件读写函数
读入以逗号分隔的数据
将数据写入文件,数据间以逗号分隔
将以 ASCII 码分隔的数值数据读入到矩阵中
将矩阵数据写入到文件中,以 ASCII 分隔
从文本文件中读入数据,将结果分别保存
从文本文件中读入数据,将结果保存为单元数组
下面详细介绍这些函数。
1. csvread、csvwrite
csvread函数的调用格式如下:
● M = csvread(&#39;filename&#39;),将文件filename中的数据读入,并且保存为M,filename中只能包含数字,并且数字之间以逗号分隔。M是一个数组,行数与filename的行数相同,列数为filename列的最大值,对于元素不足的行,以0补充。
● M = csvread(&#39;filename&#39;, row, col),读取文件filename中的数据,起始行为row,起始列为col,需要注意的是,此时的行列从0开始。
欢迎转载:
推荐:    matlab 和 excel
数据的导入导出 [李园7舍_404] - 博客频道 - CSDN.NET
读书就是慢慢地将书里书外想个遍。
分类:-[小西南]-
matlab版本:7.9.0(R2009)
1 将excel中的数据导入到matlab中
&&&&&&& 将excel中 的数据导入到matlab中采用matlab库函数xlsread
(1)C=xlsread('filename.xls')
(2)C=xlsread('filename.xls',‘ range’),表示读取excel的range范围,range的范围是如下定义:
这个数据的整个区域用标红的框的地址表示即E2:O12
(3)xlsread('filename.xls', ‘sheet’, ‘range’);
sheet对应excel的地方如下图标红的地方:
在matlab中处理此语句后就将表中对应的数据返回给C,并以矩阵的形式呈现。即使用xlsread函数可以导入excel中的任意区域、任意单元的数据到matlab中用矩阵存储,然后矩阵就可以着代码处理了。为了减少路径的书写,可以将excel表&#26684;拉入matlab的当前目录下。然后就可以将excel表的名字直接作为xlsread的参数了。并将excel中的数据作为矩阵返回给C。当然了,我得提示我,要进一步的应用xlsread还得参看matlab 的help。
2 将matlab中处理过的数据导入到excel表&#26684;中
将matlab中的数据导入excel表采用xlswrite函数。采用最简单的参数将数据导入到当前目录下,如果参数中excel表&#26684;不存在则自动生成响应的excel表&#26684;。它的用法和xlsread函数对应。
(1) xlswrite('filename.xls', data)将data导入到filename.xls表中,从头开始写入data数据。
如xlswrite('matrix.xls', data),data=[1 2 3; 4 5 6],则matrix.xls表的最开始两行将被写入data这两行数据。
(2) xlswrite('filename.xls', data, ‘range’)。range表示将data导出道excel表的区域,有区域的对角&#20540;表示区域。
如xlswrite(‘matrix.xls', data, ‘A12:J29’)则matrix.xls表中的A12:J29’区域将被填写data的数据。
(3) xlswrite('filename.xls', data, ‘sheet‘, ’range‘)。sheet表示将data数据写在excel的哪个表&#26684;里面。剩余的单元被赋予控制没看起来像乱码的样子。
如xlswrite(‘matrix.xls', data,’sheet2‘ , ‘A12:J29’)则matrix.xls的sheet2单元的A12:J29单元将被充满数据。
如果sheet名不存在,则在matrix.xls中新建这么一个单元然后将数据天禧恩啊哦对应的位置。
3 编写一个m-function 关于matlab和excel的数据导入导出
%This file shold be changed when read different data
%I shold have coded it in m-function mode
function [A, d] = loda_down_data(sheet, range, number)
%load excel datastructre
C=xlsread(&#39;FiveYears.xlsx&#39;,sheet, range);
%compute martix A
r=length(C);
for i=1:1:r
for j=1:1:r
A(i, j) = C(1, i) / C(1, j);
xlswrite(&#39;result1.xlsx&#39;, A, number, &#39;E2:O12&#39;);
%Compute vector and roots
%v is vector,d is roots
[v, d] = eig(A);
[x,y]=find(d==max(d(:)));
xlswrite(&#39;result.xlsx&#39;, d(x, y),number, &#39;B13&#39;);
[R, W]=size(B);
xlswrite(&#39;result.xlsx&#39;, A/sum(A), number, &#39;B14:B24&#39;);
然后在命令窗口中输入
&& loda_down_data('2007', 'E2:L12', '9');回车
就可以将名为FiveYears.xlsx(也可以将文件名作为输入参数)中的2007单元的E2到L12单元的数据读入到matlab中了,经过处理后就将数据读入到result.xlsx中(也可以将输出文件作为参数传入)的第9个单元中的指定区域了。
此次笔记记录完毕。
排名:第545名
(3)(424)

我要回帖

更多关于 matlab7导入excel数据 的文章

 

随机推荐