2014-02-11 400 views
0

我最近開始在MATLAB中編程來爲我自己創建一些實用程序。我想創建一個圖形界面來解決方程式。從Matlab字符串中刪除一些特定的字符

在命令行中我可以簡單地實現這一點:

syms x 
result = solve('12*x=24'); 

(and result is going to be = 2) 

我想通過創建一個圖形用戶界面,以提高這一進程。

目前的方案我是這樣的:

function [ output_args ] = SolveEq(equation) 
    syms x a b; 
    output_args = solve(equation); 

end 

這僅適用於方程上xab變量的工作。我想要如下處理字符串:

  1. 刪除空格。我發現如何實現這個here
  2. 從該字符串中獲取變量。

    例如:在字符串'12+a-b=0',我想我的程序能夠找到ab是變量,也perfom的syms操作它們。我怎樣才能做到這一點?

回答

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