1 cell 转换到 matrix,从而对cell里面的 数值进行运算
>> C = {[1] [2 3 4]; [5; 9] [6 7 8; 10 11 12]};
M = cell2mat(C)
5 6 7 8
9 10 11 12
假设你的cell像我这样,第一列是数值,第二列是问题,只计算第一列的数值
[2] 'Are you interest...'
[3] 'What about your ...'
[4] 'score your healt...'
[5] 'Do you mind rais...'
[6] 'Rate your lookin...'
[4] 'Are you a nice p...'
[3] 'the job is, well...'
[2] 'Money? poor or not?'
[1] 'Do your family a...'
那么首先你要进行提取,比如subrow,subcol之类的
[2]
[3]
[4]
[5]
[6]
[4]
[3]
[2]
[1]
然后才是转到matrix
2
3
4
5
6
4
3
2
1
最后,这组数据就可以进行任意运算了
2 cell 转换到 double的方式
在跑程序的时候出现的一个报错 Conversion to cell from double is not possible
(1)论坛里面的方法是 在 要输入的 cell数据上把 ( ) 换成 { }
http://www.ilovematlab.cn/thread-99702-1-1.html
(出处: MATLAB中文论坛)
比如下面的例子
for i = 1:10
b = char(cellstr(yvyq (i,2)));
yvyq {i,1} = input (b);
while ((yvyq {i,1} < 1) || (yvyq {i,1} > 10))
fprintf('\n\n Error! Invalid input! Please enter number from 1 to 10.\r\n');
yvyq {i,1} = input(b);
end
i = i + 1;
end
这两句都要换
yvyq {i,1} = input (b);
a = yvyq (i,1);
b = char(cellstr(yvyq (i,2)));
a = input (b);
fprintf('\n\n Error! Invalid input! Please enter number from 1 to 10.\r\n');
a = input(b);
end
ysum = ysum + a;
i = i + 1;
end
abc
defg
hi
'abc'
'defg'
'hi'