2014-02-11 5 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, ab 변수에 작동 식 작동합니다. 다음과 같이 문자열을 처리하려고합니다.

  1. 공백을 제거하십시오. 이걸 이루는 방법을 찾았습니다 here.
  2. 해당 문자열에서 변수를 가져옵니다.

    예를 들어 : 문자열 '12+a-b=0'에, 나는 내 프로그램 ab 변수 것을 발견 할 수 있도록하려면, 또한 그들을 위해 syms 작업을 perfom. 이것을 어떻게 할 수 있습니까?

답변

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