问题:

(注意,matlab判断一个数的类型的函数是class(var)) 如果p为一个数,那么h(1)=p,是没有问题的。 如果p为一个向量,那么h(1,:)=p是没有问题的。 如果p是一个矩阵的话,上面的两种赋值方法都是会有错误的。 那么要如何处理呢 ???? 这时就用到了cell数据类型了。cell的每个单元都可以存储任何数据,比如传递函数等。当然,存储矩阵更是没有问题的了。但是用cell数据类型之前,要先初始化。

1、细胞型数据的定义

1)直接赋值定义:细胞型变量在定义时需要使用大括号,元素用都好隔开

例: B = {1:4,A,‘abcd’}

2)使用cell函数,预先为细胞型变量定义空间

例: A = cell(m,n) 定义一个空的m行n列的cell类型

2、细胞型数据的访问

1)对细胞型变量元素的引用应当采用大括号作为下标的标示,用小括号作为下标标示时,将只显示该元素的压缩形式。

比如:

A = {1:4,2.5,‘abc’};
>> A A = [1x4 double] [2.5000] 'abc' >> A(1,1) ans = [1x4 double]
>>  A{1,1} ans = 1 2 3 4
>> A(1,2) ans = [2.5000] >> A{1,2} ans = 2.5000
>>  A(1,3) ans = 'abc'
>> A{1,3} ans = abc
>> A{1,1}(2) ans = 2

2 ) 改变cell类型元素的值

>> A{1,2} = 3:4
A =
[1x4 double] [1x2 double] 'abc'
>>  A{1,2}
ans =
3 4
3)删除cell中的元素,需要用A(1)=[],若使用A{1}=[]只能将该元素置空不能删除

>> A
A = [1x4 double] [1x2 double] 'abc' >> A(2) =  []
A = [1x4 double] 'abc' >> A{2} = []
A = [1x4 double] []

4) cell函数

cellplot(A)

cell(m,n) 创建一个m行n列的细胞型变量

cellfun('fun’,A) 对细胞型变量A作用fun函数,fun可以为isreal,isempty,length,islogical,ndims等
celldisp(A) 完全显示细胞型变量的内容
cellplot(A) 用图形显示细胞型变量的内容
num2cell 将数值数组转换为细胞型变量
deal 输入输出处理
cell2struct 将细胞型变量转换为结构型变量
struct2cell 将结构型变量转换为细胞型变量
iscell 判断是否为细胞型变量
reshape 改变细胞型数组的结构

注意事项:

names={'s1'};     %或  names=cell(1, 1); 
names{1} = 's1';
names={names{1,:}, 's2'}; %在字符串数组后面append一个字符串。
names={names{1,:}, 's3'};      %在字符串数组后面append一个字符串。
% 这时names是一个1x3的字符串数组,若要变成3x1的数组,可以:
names = names';

cell数组的更多相关文章

  1. matlab的cell数组

    matlab的cell数组 元胞数组: 元胞数组是MATLAB的一种特殊数据类型,可以将元胞数组看做一种无所不包的通用矩阵,或者叫做广义矩阵.组成元胞数组的元素可以是任何一种数据类型的常数或者常量,每 ...

  2. MATLAB cell 数组介绍

    转载:http://www.matlabsky.com/forum.php?mod=viewthread&tid=21089 由于工作需要,经常要处理大量的实验数据.基本都是由仪器导出来,随着 ...

  3. 解决cell循环利用造成的重复勾选

    @interface ProfessionViewController (){ NSMutableArray *_professionArray;//cell模型数组 NSMutableArray * ...

  4. cell函数总结

    元胞数组: 元胞数组是MATLAB的一种特殊数据类型,可以将元胞数组看做一种无所不包的通用矩阵,或者叫做广义矩阵.组成元胞数组的元素可以是任何一种数据类型的常数或者常量,每一个元素也可以具有不同的尺寸 ...

  5. UICollectionView中Cell左对齐 居中 右对齐 等间距------你想要的,这里都有

    支持靠左,居中,靠右,等间距对齐. 靠左等间距.png 居中等间距.png 靠右等间距.png #import <UIKit/UIKit.h> typedef NS_ENUM(NSInte ...

  6. matlab 怎么建立结构体数组?

    https://zhidao.baidu.com/question/537198107.html 怎么定义一个结构体数组,使数组的每个元素是一个结构体变量.像这样:a=(1,2)a(1)=struct ...

  7. [转]MATLAB cell数据类型

    细胞型数据类型(cell)使不同类型和不同维数的数组可以共存,细胞型数组实际上可以认为是一种以任意形式的数组为分量的多维数组. 1.细胞型数据的定义 1)直接赋值定义:细胞型变量在定义时需要使用大括号 ...

  8. iOS UITableView获取特定位置的cell

    代码地址如下:http://www.demodashi.com/demo/13307.html 一.tableView双级联动 以上两种效果比较类似,实现的关键在于都是需要获得在滑动过程中滑动到tab ...

  9. iOS_25_彩票设置的cell的数据源模型的封装

    组模型的封装 SettingGroup // // SettingGroup.h // 25_彩票 // // Created by beyond on 14-8-28. // Copyright ( ...

随机推荐

  1. vue 设计日历表

    日历的功能,我们会经常用到,且逻辑比较复杂,小算法较多,花了半天时间写了个,特此详记. 先贴图 功能阐述:返回本月不多说,设置工作日和节假日是为了公司制度需要,后台会有假日表来记录. 为了适应于vue ...

  2. ajax 处理请求回来的数据

    比如接口 /test, 请求方式get, 请求过来的数据要处理在container 里,如下代码 $.get("/test", {}, function(result){ $(&q ...

  3. python函数高级特性

    掌握了Python的数据类型.语句.函数,基本可以编写出很多有用的程序了.但是Python中,代码不是越多越好,而是越少越好.代码不是越复杂越好,而是越简单越好.基于这一思想,我们来介绍python中 ...

  4. instr函数的"重载"

    .带两个参数的 --模糊查询,comp表的Mobel和show_name字段中含有'张' INSTR(COMP.MOBILE .带三个参数的 ) from dual; 结果: 第三个参数:从字符串&q ...

  5. 电视盒子好用又强大的跨屏远程输入法 TVRemoteIME

    应用包下载地址: https://github.com/kingthy/TVRemoteIME/raw/master/released/IMEService-release.apk TVRemoteI ...

  6. TCP/IP(三)数据链路层~1

    前言 其实前面一堆讲的物理层的概念,会感觉特别的难理解,因为这是一个非常强大的计算机网络体系的底层知识,没有关系!我们大致了解一下就行了. 一.数据链路层概述 这是百度的简介 看图:理解一下,数据链路 ...

  7. ACM_高次同余方程

    /*poj 3243 *解决高次同余方程的应用,已知 X^Y = K mod Z, 及X,Z,K的值,求 Y 的值 */ #include<cstdio> #include<cstr ...

  8. 哈密顿绕行世界问题(dfs+记录路径)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2181 哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others) ...

  9. SSL数字证书Nginx配置部署

    由于小程序和Ios端的需要,公司的项目需要从原来的http协议扩展到https协议,因为项目本来就有采用nginx做了负载均衡,但是之前配置nginx的时候并没有配置关于https的内容,所以需要做这 ...

  10. 利用jQuery移除和添加图片

    1.样式 <style type="text/css">     .changeImage{          background:url(images/right. ...