24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1289  |  回复: 8

hetianbiao

木虫 (著名写手)

[求助] Matlab这个函数是什么意思?

function CellValue = hyvalue(CellObject)
    if isa(CellObject, 'cell')
      for n1 = 1:size(CellObject,1)
        for n2 = 1:size(CellObject,2)
         CellValue(n1,n2) = CellObject{n1,n2}.CellValue;
        end
     end
   else
    CellValue = CellObject.CellValue;
  end
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

花飞花舞

银虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
hetianbiao: 金币+5, ★★★★★最佳答案 2013-03-18 18:12:56
xiegangmai: 金币+1, 谢谢参与! 2013-03-19 00:47:42
就是赋值。CellObject是一个元胞数组,将每一个元胞里面的CellValue值赋给矩阵CellValue。
元芳,你怎么看?
2楼2013-03-18 16:01:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hetianbiao

木虫 (著名写手)

引用回帖:
2楼: Originally posted by 花飞花舞 at 2013-03-18 16:01:38
就是赋值。CellObject是一个元胞数组,将每一个元胞里面的CellValue值赋给矩阵CellValue。

if和else是什么意思啊?我用这个函数老是会出错
3楼2013-03-18 18:13:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

花飞花舞

银虫 (初入文坛)

★ ★
xiegangmai: 金币+2, 谢谢参与! 2013-03-24 11:19:07
if isa(CellObject, 'cell') 就是判断CellObject是不是一个元胞类型。如果是,那么用CellValue(n1,n2) = CellObject{n1,n2}.CellValue;来赋值。如果CellObject不是元胞类型的,那么它就是个结构体数组,所以用CellValue = CellObject.CellValue;进行赋值。如果你说出错,那么结论就是你所输入的CellObject它只是一个普通的数组。
元芳,你怎么看?
4楼2013-03-19 16:36:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hetianbiao

木虫 (著名写手)

引用回帖:
4楼: Originally posted by 花飞花舞 at 2013-03-19 16:36:08
if isa(CellObject, 'cell') 就是判断CellObject是不是一个元胞类型。如果是,那么用CellValue(n1,n2) = CellObject{n1,n2}.CellValue;来赋值。如果CellObject不是元胞类型的,那么它就是个结构体数组,所以用CellV ...

普通数组和元胞数组有什么区别呢?比如我这个函数是读取一个表格中的一行数据,这样就会出错,这该如何解决呢?
5楼2013-03-19 21:08:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

花飞花舞

银虫 (初入文坛)

★ ★
xiegangmai: 金币+2, 谢谢参与! 2013-03-24 11:19:14
元胞数组是这样的
A=cell(2)
A =
     []     []
     []     []
A{1,1}=1;A{1,2}=2;A{2,1}=3;A{2,2}=4;
A =
    [1]    [2]
    [3]    [4]
你试着在matlab中创建一个元胞数组和普通的数组和结构体数组,在workspace里看到他们的结构是不一样的。所以读取方式也是不一样。你的函数只对元胞数组和结构体数组有效,普通数组当然会出错啦。难道还不会破?
元芳,你怎么看?
6楼2013-03-20 11:05:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hetianbiao

木虫 (著名写手)

引用回帖:
6楼: Originally posted by 花飞花舞 at 2013-03-20 11:05:09
元胞数组是这样的
A=cell(2)
A =
     []     []
     []     []
A{1,1}=1;A{1,2}=2;A{2,1}=3;A{2,2}=4;
A =
        
        
你试着在matlab中创建一个元胞数组和普通的数组和结构体数组,在workspac ...

,真的不会破啊~就指点~matlab编程刚上手,对这些不是很懂哎
7楼2013-03-20 18:45:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

花飞花舞

银虫 (初入文坛)

★ ★
xiegangmai: 金币+2, 谢谢参与! 2013-03-24 11:19:22
引用回帖:
7楼: Originally posted by hetianbiao at 2013-03-20 18:45:42
,真的不会破啊~就指点~matlab编程刚上手,对这些不是很懂哎...

可是。。我已经说的很清楚啦。上面的代码是新建一个元胞数组,普通的数组你总会建吧?结构体数组你随便写一点,比如
>> a = [];
>> a.num=[];
>> a.pic = 1233;
然后你对比一下,他们的结构是怎么样的,看workspace里面的变量哇,很直观的。
元芳,你怎么看?
8楼2013-03-21 10:16:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hetianbiao

木虫 (著名写手)

引用回帖:
8楼: Originally posted by 花飞花舞 at 2013-03-21 10:16:40
可是。。我已经说的很清楚啦。上面的代码是新建一个元胞数组,普通的数组你总会建吧?结构体数组你随便写一点,比如
>> a = [];
>> a.num=[];
>> a.pic = 1233;
然后你对比一下,他们的结构 ...

那我是否可以修改这个函数,让它可以读取所有数组的值呢?元胞的,结构的,普通数组的
9楼2013-03-21 16:45:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hetianbiao 的主题更新
信息提示
请填处理意见