Matlab提取excel表格特定地方数据

发布网友 发布时间:2022-04-26 14:52

我来回答

5个回答

热心网友 时间:2023-10-10 14:45

看你的描述应该已经会用 xlsread 读 excel 了。

如果位置不确定的话,只能先把整个表读出来,然后在第一列里找到 Data Points 所在的行,然后取出它下面的矩阵。

赋值变量的话,可以用 eval()。

下面是个简单的例子,仅供参考,你还得根据自己的情况改改:

% 读 excel,因为你的数据是字符串与数字混杂的情况,需要用 raw
[~, ~, raw] = xlsread('test.xlsx', 1);

% 找 Data Point 所在的行,我这假设就在第一列,如果不是你得稍微修正一下。
ind = find(strcmp(raw(:,1), 'Data Point'));
if isempty(ind)
    % 没找到,需要做其它处理
end

% dim 是矩阵的维度
%   你的情况应该是 [71 61],我这只是个例子
% offset 是那个矩阵的位置。
%   [1 1] 的意思是话矩阵在那个空白格的下一行,下一列。自己体会。
dim = [3 3];
offset = [1, 1];
data = cell2mat(raw(offset(1)+(ind+1:ind+dim(1)), ...
    offset(2)+(1:dim(2))));

% H1 你得再去另一个表里读,位置知道话比较简单,我这假设你已经读到了。
% eval([var_name, ' = data;']) 相当于执行 H1 = data;
var_name = 'H1';
eval([var_name, ' = data;']);

% 显示结果:这暗示 H1 这个变量已经存在了
display(H1);

test.xlsx 的内容如下:

热心网友 时间:2023-10-10 14:46

程序:

clc;clear all;

xlsread('绝对路径+1.xls','sheet1','a2:b5')

程序结果:


excel说明:

 明白没?

热心网友 时间:2023-10-10 14:46

导入数据时,我习惯

从这里导入,会出现

根据需要进行数据的截取,你所要求的是需要编一个小程序的,它还没那么智能可以一步实现你的需要。

如果是编程个小程序的话,思路就是用循环找到你说的“Data Points”,提取行列值,然后再进行所需数据的提取

热心网友 时间:2023-10-10 14:47

操作如下:NUMERIC = XLSREAD(FILE,SHEET,RANGE)。

FILE是文件名,SHEET是工作表名,RANGE是读的位置范围,都是字符串。

RANGE不定可以用strcat函数来生成所要位置的字符串。

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。


MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

热心网友 时间:2023-10-10 14:48

没有数据文件,这种很难程序写给你。提供一个思路
先全部提取,然后按照你的条件筛选出相应的数据。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com