如何解决写在EditField上的操作?

1次查看(最近30天)
我是新的Matlab,我已经使用它做一些数学。我用App Designer做了一个非常简单的程序,它的想法是,用户可以输入几乎任何表情,然后显示结果,例如“7 + 4”或“4x + 2 = 0”。问题是,我不知道如何将EditField中的文本“转换”为数学表达式。我用“2 + 4”做了一个小测试,使用“str2sym()”函数和“num2str()”函数,但当在其他EditField中设置结果时,它显示了这个错误: 使用num2str时出错(第47行)
方法(Access = private)
%按钮按下功能:CalculateButton
函数CalculateButtonPushed(应用程序、事件)
expr = str2sym (app.ExpressionEditField.Value);
app.ResultEditField.Value = num2str (expr);
结束
结束
我不知道该怎么办,任何建议都是感谢的。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2021年8月22日
str2sym()的结果是符号的。Num2str()不能将符号转换为字符串。
可以使用string(expr)代替num2str(expr)
注意:要转换的表达式必须是有效的MATLAB语法。“4x + 2 = 0”是无效的MATLAB语法。用户必须输入“4*x + 2 == 0”,否则您必须处理用户输入的内容,以使其成为有效的MATLAB语法。
MATLAB没有任何隐含的乘法——没有“4x”表示用4乘以x。不 在任何地方 我能找到的。
3评论

登录评论。

更多的答案(0)

s manbetx 845


释放

R2020b

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!