写了一个matlab程序,将其转移到matlab GUI上,可是无论如何都不能正确运行。
总是提示:??? Conversion to logical from cell is not possible.
开始以为是读取的有问题,然后仔细检查,发现没有任何问题。
百度,google了一个晚上还是没有找到相关答案。
后来想到可能是因为从edit里面读到的是cell类型的数据,无法直接拿过来用,
于是在百度上搜:cell转化为string matlab。
找到:http://bbs.ustc.edu.cn/cgi/bbstcon?board=MathTools&file=M.1095163337.A
里面介绍,edit数据需要经过转化,才能成为string。
===============================================================
本文: [转寄][转贴][删除][修改][回复][作者:zizi][人气:123]
发信人: zizi(孜孜), 信区: MathTools
标 题: 【合集】请教大虾一个问题:如何将cell类型的数据转化为其它
发信站: 瀚海星云 (2004年09月14日20:02:17 星期二), 站内信件
☆──────────────────────────────────────☆
woodjobber (活着真好!) 于 2004年09月11日20:40:49 星期六 提到:
编辑GUI时,读入可编辑文本框的数据,可存储类型是cell型的,无法作为其他函数的输入
我需要把cell的转化为string的,不知道怎么办了
谢谢大家了
btw,我用的是matlab6.5版本
☆──────────────────────────────────────☆
thyme (0100~住在秋天) 于 2004年09月11日20:56:07 星期六 提到:
只有cell2struct函数
估计你要自己写了
☆──────────────────────────────────────☆
supper (山城棒棒儿军) 于 2004年09月11日21:59:52 星期六 提到:
你得到的cell是什么样子的?
譬如:
input ={ '1111';'22323';'33333'};
>> a=input{1}
a =
1111
>> whos a
Name Size Bytes Class
a 1x4 8 char array
Grand total is 4 elements using 8 bytes
>>
☆──────────────────────────────────────☆
woodjobber (活着真好!) 于 2004年09月11日22:19:15 星期六 提到:
a='edit'
name size bytes class
a 1x1 68 cell array
☆──────────────────────────────────────☆
justlo (松) 于 2004年09月11日22:23:23 星期六 提到:
不妨试试char()
☆──────────────────────────────────────☆
supper (山城棒棒儿军) 于 2004年09月12日00:19:27 星期天 提到:
right,用char可以将cell转换成char(string)
但是他所的情况我想肯定不需要转换也成的,我再些GUI的时候,从来没有出现过需要用
char来转换的时候。
☆──────────────────────────────────────☆
supper (山城棒棒儿军) 于 2004年09月12日00:21:16 星期天 提到:
看清楚了
a = input{1} 或者input{2}....
是花括号,
这样得到的a是char型而不会是cell类型的
☆──────────────────────────────────────☆
woodjobber (活着真好!) 于 2004年09月12日08:59:25 星期天 提到:
我的数据是用get()得到的
可能是这个原因吧
3x!
--