做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)
做出来啦 ,谢谢大家啦