MATLAB GUI 之 列表框 属性 ‘string’ 元胞存储

edit_string = get(handles.string_edit,'string');
if (isempty(edit_string))
    disp('Please give an string to add')
end

list_string = get(handles.listbox1,'string');   % list_string是一个元胞?是
 if (~isempty(list_string))
     set(handles.listbox1,'string',vertcat(edit_string,list_string));
else
    set(handles.listbox1,'string',edit_string);
end

该段代码是把编辑框中的字符加入到裂框中。 我们几种方法可验证该问题。

比如  在 

list_string = get(handles.listbox1,'string');   % list_string是一个元胞?是
后面加上  class(list_string) 然后我们就可以在命令行看到结果为 cell


然而,本文重点不在于次!我想说的是 函数 vertcat 和 函数 cat(1,...)

这俩个函数在垂直方向拼接输入参数但是他们俩个函数都需要输入参数列相同

例如

 a = ['123 ';'1234';'4  6']

a =

123 
1234
4  6

>> b = '44'

b =

44

>> cat(1,b,a)
Error using cat
Dimensions of matrices being concatenated are not consistent.
 
>> vertcat(b,a)
Error using vertcat
Dimensions of matrices being concatenated are not consistent.

当列相同的时候拼接是成功的

c = '1470'


c =


1470


>> cat(1,c,a)


ans =


1470
123 
1234
4  6
vertcat 结果也一样

然而,开始的程序在执行的时候却没有错误,这就说明 列表框'string'返回的存储类型绝对不是普通高维数组。cat函数与vertcat函数对与元胞数组也是使用的。例如:

 a = {'1231';'sdfa'}

a = 

    '1231'
    'sdfa'

>> b = '1'

b =

1

>> cat(1,b,a)

ans = 

    '1'
    '1231'
    'sdfa'
本人初学matlab,以上均是学习过程中遇到的问题,总结的心得!如果您发现有什么错误,还望指出来!谢谢!


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值