我最近开始在MATLAB中编程为自己创建一些实用程序。我想创建一个图形界面来解决方程式。
在命令行中,我可以通过以下方式实现此目的:
syms x
result = solve('12*x=24');
( and result is going to be = 2 )
我想通过创建GUI来改进这个过程。
我目前的计划如下:
function [ output_args ] = SolveEq( equation )
syms x a b;
output_args = solve( equation );
end
这仅适用于适用于x
,a
和b
变量的等式。我想按如下方式处理字符串:
从该字符串中获取变量。
例如:在字符串'12+a-b=0'
中,我希望我的程序能够找到a
和b
是变量,并且还为它们执行syms
操作。我怎样才能做到这一点?
答案 0 :(得分:2)
您正在使用的语法无需声明符号变量即可工作:
f=solve('12*x=24');
使用表达式而不是字符串需要声明符号变量:
syms x
f=solve(12*x==2);
使用字符串,然后什么都不做。
解决后需要的代码:
if isstruct(f)
%more than one variable
names=fieldnames(f);
else
%only one variable, f is the solution
end