matlab GUI程序界面,求解二元一次方程,并将其中的一个根转换成字符串显示在GUI的文本框中

做GUI程序界面,使用Matlab求解二元一次方程,得到两个参数值,选取其中的了一个值,并转换成字符串显示在GUI的文本框上,问题是matlab一直显示错误使用 matlab.ui.control.UIControl/set
设置 'UIControl' 的 'String' 属性时:
字符串应是字符、数值或元胞数组数据类型。

代码如下:
syms a b
[a,b]=solve(a * b==CA,2*(a+b)==CP);
changdu = 0;
kuandu =0;
if a(1)>b(1)
disp('a(1)为长度、b(1)为宽度:');
disp(a(1));
disp(b(1));

changdu = changdu + a1;
kuandu = kuandu + b1;

else if
disp('a(1)为宽度、b(1)为长度:');
disp(b(2),a(2));
changdu=changdu + b(2);
kuandu=kuandu + a(2);
end;
L=changdu;
K=kuandu;
set(handles.Width,'string',K)
set(handles.Length,'string',L)

大神们帮我看一下

set(handles.Width,'string',**num2str**(K))
set(handles.Length,'string',num2str(L))

set(handles.Width,'string',num2str(K))
set(handles.Length,'string',num2str(L))

这个我们试过啦,,还是不行,,可能的原因在于系统仍然无法识别取地 是哪个根??

这个我们,还是不行,,仍然无法识别是哪个根??

global changdu kuandu
syms a b
[a,b]=solve(a * b==CA,2*(a+b)==CP);
changdu = 0;
kuandu =0;
%t=double([a,b])
if a(1)>a(2)&&b(1) a1=a(1);b1=b(1);
a2=a(2);b2=b(2);
t1=double(a1)
t2=double(b(1))
end
if a1>b1
% disp('a(1)为长度、b(1)为宽度:');
% disp(a1);
% disp(b1);
changdu = changdu + a1;
t3=double(changdu)
kuandu =kuandu + b1;
t4=double(kuandu)
else
disp('a(1)为宽度、b(1)为长度:');
disp(b(2),a(2));
changdu=changdu + b(2);
t3=double(changdu)
kuandu=kuandu + a(2);
t4=double(kuandu)
end;
L=t3;
W=t4;
set(handles.Width,'string',W)
set(handles.Length,'string',L)
做出来啦 ,谢谢大家啦