精华内容
下载资源
问答
  • matlab中cell数据提取
    千次阅读
    2021-04-18 02:56:57

    Cell是Matlab中的一种数据类型,概念和结构类似。用大括号定义,括号里可以是任意类型的数据或矩阵。

    关于cell的创建:

    1.跟一般创建矩阵一样,直接使用C = {A B D E}这种形式,不过这里把"[]"改成了"{}"

    2.使用cell创建cell,C= {C1 C2},这里C1和C2都是cell类型,直接把C1

    C2作为一个cell得到的C3是一个1x2的cell数组;使用C3 = [C1

    C2],是使用C1和C2的内容来创建cell数组

    3.使用cell函数,A=cell(2,2),创建一个空的2x2的cell矩阵.

    关于cell的访问:

    1.X=C(s)使用这种"()"形式的返回的是cell类

    2.X=

    C{s}使用这种"{}"形式的返回的是cell中的内容

    3.其他的基本上与通常的数组.矩阵访问一样了

    4.A{1,1}(2,3:end)访问的是A中的第一个cell里面内容的第2行的第三个元素以后的所有元素

    5.A{1,3}.name访问的是A中的A{1,3}cell里面结构的name值

    6.cell的图形化显示使用命令cellplot(A)即可如B={[1;2]},这就定义了一个cell型的变量B,里面保存的是一个矩阵[1;2],要引用里面的数据只要在大括号里写上对应的下标即可,如B{1}。

    下面我们给B再加个元素,我们可以这样定义B(2)={'hello'}。也可以利用引用的方法定义B{2}='hello'。第二种方法比第一种方法更方便所以更常用。

    这样B就有两个元素了,B(1)是{[1;2]},B(2)是{'hello'},每个元素都是cell型的(注意和B{1}、B{2}的区别,B{1}是[1;2],B{2}是'hello')。

    更多相关内容
  • matlab实现cell中数据保存为excel文件

    千次阅读 2021-11-26 20:20:52
    咱们需要使用到的是具体位置的cell中数据,因此选择第二种访问方式,剩下的就是逻辑部分了 2. 上代码: clc; clear; ngle = [-180 -165 -150 -135 -120 -105 -90 -75 -60 -45 -30 -15 0 15 30 45 60 75 90 105 120 ...

    1. cell中的值如何访问:地址
    在这里插入图片描述
    咱们需要使用到的是具体位置的cell中数据,因此选择第二种访问方式,剩下的就是逻辑部分了
    2. 上代码:

    clc;
    clear;
    ngle = [-180 -165 -150 -135 -120 -105 -90 -75 -60 -45 -30 -15 0 15 30 45 60 75 90 105 120 135 150 165 180];
    CFX = [0.043011 0.055914 0.11613 0.24086 0.42581 0.62366 0.75699 0.7914 0.64946 0.4172 0.20215 0.08172 0.060215 0.13763 0.33978 0.61935 0.84301 0.96344 0.94194 0.84301 0.65806 0.44731 0.19355 0.055914 0.043011];
    CFY = [0.14383 0.083721 0.015027 -0.092308 -0.13524 -0.096601 0.01932 0.18247 0.25975 0.20823 0.045081 -0.10089 -0.19964 -0.74919 -0.80072 -0.71055 -0.5517 -0.28122 -0.015027 0.22111 0.38426 0.46583 0.44866 0.3585 0.14812];
    CMZ = [0.030108 0.056344 0.07957 0.083441 0.073118 0.054624 0.027527 -0.018495 -0.068387 -0.10495 -0.11183 -0.083871 -0.045161 0.037849 0.076989 0.04172 0.025376 0.0086022 0 -0.008172 -0.014624 -0.020645 -0.055484 -0.027097 0.030108]; 
    data={ngle',CFX',CFY',CMZ'}; %生成1x4的cell文件,每个cell均为25x1的数据;ngle'实现1x25数组转为25x1的数组
    for i=1:4
    filetitle=['D:\' 'data' num2str(i) '.xlsx'];%在D盘生成文件名变化的xlsx文件地址
    dataTmp=data{1,i};%dataTmp是cell中对应的数组内容
    xlswrite(filetitle,dataTmp);%生成文件名变化的xlsx文件
    end
    

    3. 这是运行过程中的变量值:
    在这里插入图片描述
    4. 运行后生成的文件:

    在这里插入图片描述

    展开全文
  • matlab提取cell元素

    万次阅读 2020-01-13 18:00:15
    CellMatlab中的一种数据类型,概念和结构类似。用大括号定义,括号里可以是任意类型的数据或矩阵。 关于cell的创建: 1.跟一般创建矩阵一样,直接使用C = {A B D E}这种形式,不过这里把"[]“改成了”{}" 2.使用...

    Cell是Matlab中的一种数据类型,概念和结构类似。用大括号定义,括号里可以是任意类型的数据或矩阵。

    关于cell的创建:

    1.跟一般创建矩阵一样,直接使用C = {A B D E}这种形式,不过这里把"[]“改成了”{}"

    2.使用cell创建cell,C= {C1 C2},这里C1和C2都是cell类型,直接把C1 C2作为一个cell得到的C3是一个1x2的cell数组;使用C3 = [C1 C2],是使用C1和C2的内容来创建cell数组

    3.使用cell函数,A=cell(2,2),创建一个空的2x2的cell矩阵.

    关于cell的访问:

    1.X= C(s)使用这种"()“形式的返回的是cell类
    2.X = C{s}使用这种”{}"形式的返回的是cell中的内容
    3.其他的基本上与通常的数组.矩阵访问一样了
    4.A{1,1}(2,3:end)访问的是A中的第一个cell里面内容的第2行的第三个元素以后的所有元素
    5.A{1,3}.name访问的是A中的A{1,3}cell里面结构的name值
    6.cell的图形化显示使用命令cellplot(A)即可如B={[1;2]},这就定义了一个cell型的变量B,里面保存的是一个矩阵[1;2],要引用里面的数据只要在大括号里写上对应的下标即可,如B{1}。

    下面我们给B再加个元素,我们可以这样定义B(2)={‘hello’}。也可以利用引用的方法定义B{2}=’hello’。第二种方法比第一种方法更方便所以更常用。

    这样B就有两个元素了,B(1)是{[1;2]},B(2)是{‘hello’},每个元素都是cell型的
      (注意和B{1}、B{2}的区别,B{1}是[1;2],B{2}是’hello’)。

    展开全文
  • 1 目的将4组三维数据,每组数据画散点图(fig1),拟合出一个曲面(fig2),并将特定Z值的等高线投影到XY平面(fig3)。2 主要函数scatter3( ) 三维散点图scatter3(X,Y,Z,S,C)% 向量 X、Y 和 Z 指定点的位置,都是1维数组...

    1 目的

    将4组三维数据,每组数据画散点图(fig1),拟合出一个曲面(fig2),并将特定Z值的等高线投影到XY平面(fig3)。

    2 主要函数

    scatter3( ) 三维散点图

    scatter3(X,Y,Z,S,C)

    % 向量 X、Y 和 Z 指定点的位置,都是1维数组。size(Z) = size(X) * size (Y)

    % S 指定点的大小,默认50。也可以是一个和x,y长度一样的向量,设置不同点大小不同。

    % 默认点的形状是圆形。正方形s,圆形o,上三角形^,菱形d

    % C 指定的颜色绘制每个点。可以是字符串,RGB或者向量。使用向量可以不同点颜色不同

    mesh( ) 三维网格图

    mesh(X,Y,Z,C)

    % 绘制线框网格

    % 如果 X 和 Y 为向量,length(X) = n 且 length(Y) = m,其中 [m,n] = size(Z)。

    % 矩阵 C 确定网格颜色,大小与 Z 相同

    surf( ) 三维曲面图

    surf(X,Y,Z,C)

    % 默认的曲面颜色与 Z 成比例

    % 使用 C 将指定曲面颜色

    % 由于原始数据点偏少,最好先用griddata()插入更多数据点

    contour( ) 等高线图

    [C,h] = contour(X,Y,Z)

    % 返回等高线矩阵 C(包含定义等高线的数据)和 Contour 对象 h

    % 如只想画出Z在i处的等高线,则调用 [C,h] = contour(X,Y,Z,[i,i])。再调用 C 即可获得该等高线的数据

    % h 为等高线对象。可设置粗细、颜色等属性

    cell 数组

    多组数据绘图,我倾向使用循环解决。以上命令的 X,Y 都是矩阵(数组),matlab里可以用 cell 数组 存储矩阵。

    6f1cbe3d9f6cb69692630be133416673.png

    RGB 格式

    maltab 的 RGB 不是 [255 255 255] 形式,而是 [1 1 1]。对应 RGB 数值除以255即可。

    3 代码实现

    clear;clc;close all;

    %% data input

    data1 = importdata('sta_1');

    data2 = importdata('sta_2');

    data3 = importdata('sta_3');

    data4 = importdata('sta_4');

    color = [0.8588 0.2745 0.19216; 0.8941 0.6627 0.1961; 0 0.5412 0.7765; 0.6275 0.2 0.5765]; % 自定义颜色 red, yellow, blue, purple

    x = cell(4,1);y = cell(4,1);z = cell(4,1);

    % cell元胞数组,可以存数组.目的是利用cell循环作图.

    % x{i} = data{i}(:,1)

    % 第i组数据(xyz均为1维数据)分别存入X{i},Y{i},Z{i}

    for i = 1:4

    eval(['x{',num2str(i) '}= data' num2str(i) '(:,1)']); % index 中调用变量,需要用到num2str()

    eval(['y{',num2str(i) '}= data' num2str(i) '(:,2)']);

    eval(['z{',num2str(i) '}= data' num2str(i) '(:,3)']);

    end

    real = [0.610293 0.559696 0.614283 0.63131]; % 需要画等高线的高度

    %% fig.1: sactter

    dot1 = {'s' 'o' '^' 'd'}; % dot shape

    figure;

    daspect([8 5 1]); % 坐标轴xyz刻度比例

    hold on;

    grid on;

    for i = 1:4

    scatter3(x{i},y{i},z{i},dot1{i},'MarkerFaceColor',color(i,:),'MarkerEdgeColor',color(i,:));

    end

    view(40,25);

    xlabel('x');ylabel('y');zlabel('z');;xlim([0 16]);ylim([0 10]); title('xyz');

    set(gca,'xTick',[0:2:16],'yTick',[0:2:10],'LineWidth',2,'FontSize',20,'GridLineStyle' ,'--');

    legend('1','2','3','4','location','northeast');

    hold off;

    % print('-depsc','-r800','fig1.eps');

    %% surface

    X = cell(4,1);Y = cell(4,1);Z = cell(4,1);

    Xm = cell(4,1);Ym = cell(4,1);Zm = cell(4,1);

    figure

    daspect([8 5 1]); % 坐标轴xyz刻度比例

    hold on;

    grid on;

    for i = 1:4

    [X{i},Y{i},Z{i}] = griddata(x{i},y{i},z{i},linspace(-1,17)',linspace(-1,11),'v4');

    C = zeros(size(X{i}));

    C(:,:,1) = color(i,1);C(:,:,2) = color(i,2);C(:,:,3) = color(i,3);

    surf(X{i},Y{i},Z{i},C);

    % shading flat;

    end

    legend('1','2','3','4','location','northeast');

    for i = 1:4

    % shading flat;

    Xm{i} = -1:17;Ym{i} = -1:17;Zm{i} = real(i)*ones(19);

    Cm = zeros(size(Zm{i}));

    Cm(:,:,1) = color(i,1);Cm(:,:,2) = color(i,2);Cm(:,:,3) = color(i,3);

    mesh(Xm{i},Ym{i},Zm{i},Cm); % 添加一张网格平面

    end

    alpha(0.8); % transparency

    view(40,25);

    xlabel('x');ylabel('y');zlabel('z');xlim([0 16]);ylim([0 10]); title('xyz');

    set(gca,'LineWidth',2,'FontSize',20,'xTick',[0:2:16],'yTick',[0:2:10],'GridLineStyle' ,'--');

    hold off;

    %print('-depsc','-r800','fig2.eps');

    %% contour

    cm = cell(4,1);

    hm = cell(4,1);

    figure

    hold on;

    for i = 1:4

    [cm{i},hm{i}]=contour(X{i},Y{i},Z{i},[real(i),real(i)]);    % cm(i)保存了等高线的数据

    set(hm{i},'color',color(i,:),'LineWidth',2); % ,'ShowText','on'

    end

    legend('1','2','3','4','location','northeast');

    xlabel('x');ylabel('y');xlim([0 16]);ylim([0 10]);title('xyz');

    set(gca,'LineWidth',2,'FontSize',20,'xtick',[0:1:16],'ytick',[0:0.5:7]);

    hold off;

    % print('-depsc','-r800','fig3.eps');

    展开全文
  • matlab提取cell中的某行某列的值

    万次阅读 2018-04-21 11:56:45
    如下,node是一个2x1的cell,每个cell中有矩阵16x23提取第一个cell中,第二行第三列的元素使用 node{1,1}(2,3);结果:ans = -0.8593
  • 已经把excel的一列导入到matlab的工作区,怎么计算这一列数的均值、标准差、最小值、最大值以及位数?把这个EXCEL放到matlab目录下的work里,假设名为1.xls,然后在matlab里A=xlsread('1.xls'),即可导入,这时A是一个...
  • matlab中cell数组用法

    万次阅读 多人点赞 2018-02-10 09:07:31
    第一次接触cell数据是因为做一个数据处理时由于数据量太大excel的vlookup奔溃而数据库不熟练只能硬着头皮强行导入matlab匹配,其中有一列数据为年月日时分秒,还好matlab有cell数组,中间使用也遇到一些问题,现在...
  • 矩阵合并 / cell元素提取 / 修改矩阵内的某个元素
  • matlab从图表中提取数据

    万次阅读 2020-04-09 20:47:06
    有如下的波形图,如何从中精确提取出全部的数据: 1,将波形图片(截图)保存为test.png或test.jpg,并将图片放于matlab工作目录,如...% 提取图片的曲线数据 clear,clc,close all %% 图片与曲线间的定标 im=i...
  • matlab提取股票数据代码快速且高效存储的Tucker分解,用于回答各种时间范围查询 这是提交给KDD 2021的“用于响应各种时间范围查询的快速和内存有效的Tucker分解”的代码。 代码信息 所有代码均由MATLAB 2019b编写。 ...
  • 1. 问题描述MATLAB数据处理中看可能遇到这样的问题:数据处理过程,调用第三方工具箱进行分析,得到了预期的图像,但无法提取图像曲线对应的数据。如得到如下曲线:需要提取曲线数据,进行进一步的分析。如果在...
  • MATLAB如何提取结构体中数据

    千次阅读 2021-05-08 14:22:12
    1. 结构数组的创建MATLAB提供了两种定义结构的方式:直接应用和使用struct函数。a) 使用直接引用方式定义结构与建立数值型数组一样,建立新struct对象不需要事先申明,可以直接引用,而且可以动态扩充。比如建立一个...
  • 我现在有一个单元数组比如 ff(1)= '1 2 3 4 5 6 7 8' ...现在我想将ff(1)的size变成1 x 8, 即我想将cell里的数据全部分开,这样可以方便我调用里面 的数据,比如我想使用ff(1,4)即可得到4. 请问该怎么做?
  • (转)matlab中cell数组用法

    千次阅读 2019-10-16 15:27:42
    原创 matlab中cell数组用法 ...
  • Matlab如何提取fig文件数据

    千次阅读 多人点赞 2020-09-19 23:32:00
    本文详细介绍Matlab如何提取fig文件数据,并提供原创的m函数,可方便实现各类figure图形提取数据。 fig文件作为Matlab中的图形文件,其实原始数据是会存储在figure对象的,那么通过get函数获取figure对象...
  • ImageTime = ImageName(2:end,2); CamTime = CamName(2:end,2);...a = cell2mat(ImageTime); a2 = a(:,2:end); ImageTime = cellstr(a2); b =cell2mat(CamTime); b2 = b(:,2:end); CamTime = cellstr(b2);
  • Matlab的Fig图片中提取数据,并保存成csv文件1.Fig图像是由单条曲线绘制2.Fig图像是由双条曲线绘制3.小结 本人亲自实测有效,但能力有限,目前仅用代码测试了Figure图片单线条和双线条的提取(多线条可模仿双线条...
  • Matlab 提取struct数据

    万次阅读 2020-03-17 06:31:25
    dec 是一个嵌套的 struct 类型数据,如下图: dec 有两个 Field,每个 Field 又是一个 struct 类型的数据: a = dec.input 即可得到 input, 有3个field,每个field 下有3个值。 如何取得每个 field 下的数据: ccc...
  • 但是用cell数据类型之前,要先初始化。a=cell(n,m)那么就把a初始化为一个n行m列的空cell类型数据。如何赋值呢?a{1,1}=rand(5)那么a的1行1列的单元存储的就是一个随机的5×5的方阵了。那么要用第一个单元的方阵...
  • MATLAB中,数值数组的存储单元内存储的数据类型必须是一模一样的,而且各元素的长度要一致(其它语言也是这样),即数值数组的存储单元内储存的数据必须是相同长度的数值类型。cell也称为元胞,cell数组内可以存储...
  • 1)存储​save('Timeshifted_Sig_Mat.mat','Timeshifted_Sig_Mat');​2)读取S1 = load('Timeshifted_Sig_...BP1 = struct2cell(S1);BP2 = BP1{1,1};%Necessary.Timeshifted_Sig_Group_1 = BP2{1,1};Timeshifted_Sig_...
  • matlab读取不规则txt文件数据
  • matlab读取xlsx数据加载不出,如何解决? cell数据如何转换为doubel类型
  •  %a point belongs to the cluster with the most votes %*** If they want the cluster2data cell find it for them if nargout > 2 cluster2dataCell = cell(numClust,1); for cN = 1:numClust myMembers = find...
  • 本文演示了从现有日期时间数组中提取日期和时间分量的两种方法:访问数组属性或调用函数。然后,再演示了如何通过修改数组属性来修改日期和时间分量。 访问属性以检索日期和时间分量 创建一个 datetime 数组。 t = ...
  • Matlab实现图像数据集的特征提取与分类器设计

    千次阅读 多人点赞 2021-07-01 21:39:24
    包含内容: ...数据集读入函数代码: function [trainData,trainLabels,testData,testLabels] = ReadDataSet(fileRoot,imageFormat,trainNum,testNum) %读取数据集 dataSetFiles = dir(strcat(fileRoot,'\s*
  • 我们的目的是要提取出valid后面的两行数据。 实现 解释一些函数 fgetl 用法,tline = fgetl(fileID),依次返回文件的每一行,并删除换行符。 regexp,匹配正则表达式。例如在本文的用法是根据空格和逗号将一行...
  • MATLAB中如何提取二维坐标

    千次阅读 2021-04-20 15:25:51
    waitfor(hf,'WindowButtonMotionFcn',[]) if iscell(ht) for jj=1:length(ht) set(hp(jj),'hittest',ht{jj}) end else set(hp,'hittest',ht) end selType = get(hf,'SelectionType'); % Mouse-Button recognition.....
  • 请完成以下步骤: 脚步: 1. 从 VMT 软件生成摘要... 文件 tran1.xlxs 到 tran14.xlxs 和 transect1.xlxs 到 transect14.xlxs 是从 Transect_Summary_file 包含的 excel 文件 transec1 到 transec14 中提取的(可在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,927
精华内容 1,170
关键字:

matlab中cell数据提取

matlab 订阅