Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 显示字符串时出现问题

嘿,伙计。可以帮我吗?

if size(cost,1) == 2 A = (4*Pdt*cost(1,3)*cost(2,3)) + 2*(cost(1,2)*cost(2,3))+(cost(1,3)*cost(2,2)); B = 2*(cost(2,3)+cost(1,3)); lambda = num2str(A ./ B); set(handles.answer1_staticText,'String', lambda); P1 = (lambda - cost(1,2))./(2*cost(1,3)); P2 = (lambda - cost(2,2))./(2*cost(2,3)); PT = mat2str(P1 + P2); set(handles.answer2_staticText,'String', PT); guidata(hObject, handles); end 通过上面的编码,答案变为:

[11.75 11.25 11.25 11.75 10.75 11.5 12.75 12.75 13] 我的问题是我想在静态文本框中显示我的答案,如下所示:

P1 = (%answer for P1) P2 = (%answer for P2) P TOTAL = (%answer for PT) 有人可以帮我编码吗?



回答:

您已将lambda转换为字符串(使用num2str ),因此, P1等的计算将产生意外结果。

最好只在显示步骤中将其转换为字符串,这样就不会发生这些意外。

尝试这个:

if size(cost,1) == 2 A = (4*Pdt*cost(1,3)*cost(2,3)) + 2*(cost(1,2)*cost(2,3))+(cost(1,3)*cost(2,2)); B = 2*(cost(2,3)+cost(1,3)); lambda = A ./ B; set(handles.answer1_staticText,'String', num2str(lambda)); P1 = (lambda - cost(1,2))./(2*cost(1,3)); P2 = (lambda - cost(2,2))./(2*cost(2,3)); PT = P1 + P2; set(handles.answer2_staticText,'String', num2str(PT)); guidata(hObject, handles); end

更多&回答...
poster 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 04:58


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.