2014-02-11 8 views
0

Я недавно начал программировать в MATLAB, чтобы создать для себя некоторые утилиты. Я хочу создать графический интерфейс для решения уравнений.Удаление некоторых конкретных символов из строк 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 переменных. Я хочу обработать строку следующим образом:

  1. Удалить пробелы. Я нашел, как достичь этого here.
  2. Получите переменные из этой строки.

    , например: в строке '12+a-b=0', я хочу, чтобы моя программа, чтобы иметь возможность обнаружить, что a и b являются переменными, а также 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 
Смежные вопросы