2013-09-16 3 views
1

이것은 간단하지만 어떤 이유로 솔루션을 제공합니다. 나는 매트랩 벡터 기능을 가지고 :함수를 evaulating 않고 벡터 함수, E (s) = (E_1 (s), E_2 (s), E_3 (s)) 인덱싱

E(s) = [E_1(s),E_2(s),E_3(s)] 

내가 인덱스 그것을 할 수 있도록하려면, 그래서 일반적으로 매트랩 첫 번째 요소, E(1)을 사용합니다. 그러나 이는 단지 s에있는 벡터를 2과 동일하게 평가합니다. E(s)(1)도 오류가 발생합니다.

도움을 주시면 감사하겠습니다. 참고 용으로 my code입니다.

+0

벡터 함수는 코드에 포함되어 있지 않으므로 수행하려는 작업이 정확히 무엇인지 확신 할 수 없습니다. 오류를주는 코드를 제공 할 수 있습니까? –

+0

그냥 [Math.SE] (http://math.stackexchange.com/questions/495519/indexing-a-vector-function-es-e-1s-e-2s-e-3s-in-matlab)에서 대답했습니다. - without-eva) 그리고 나서 당신이 여기에 두 번 올린 것을 발견했습니다. 이 청중의 이익을 위해 제 대답을 반복하겠습니다 만 이중 게시는 피해야합니다. 당신은 수학을 철회하는 것을 고려할 수도 있습니다. 이것이 수학에 관한 질문이 아닙니다. – horchler

+0

@horchler : 아마도 맞을 것입니다. MATLAB 태그가 있기 때문에 받아 들일 수 있다고 생각했지만, 여기에있는 것이 더 합리적입니다. – Freeman

답변

3

벡터를 반환하는 기호 함수가 있습니다. whos을 입력하면 E 클래스가 symfun임을 알 수 있습니다. 불행히도, 나는 상징적 인 기능으로 직접 색인 할 수 있다고 생각하지 않는다. 그러나, 당신은 단순히 새로운 변수에 동일한을 설정하고 상징적 인 변수 이제 s

Es = E(s); 

당신이 Es(1), Es(2)을 평가 할 수 있어야한다 전달하여 상징적 표현 (클래스 sym)로 변환하고, Es(3) 수 있습니다 당신이 원하는대로.

+0

많은 감사드립니다. 그래서 이것은 1x1 symfun -> 3x1 sym를 취합니다. 이제 요소를 추출 할 수 있습니다.하지만 Es (1) 객체의 기능을 어떻게 복구 할 수 있습니까? – Freeman

+1

무슨 말씀 이시죠? 's'와 다른 기호 변수에 어떻게 값을 연결할 수 있는지 묻고 있습니까? 그렇다면 ['subs'] (http://www.mathworks.com/help/symbolic/subs.html) 만 사용할 수 있습니다. 또는'Es' 벡터의 각 요소를'Es2 (s) = symfun (Es (2), s)'와 같은 상징 함수로 되돌릴 수 있습니다. 그런 다음'Es2 (3)'을 실행하여's'에서 3과 같은 두 번째 요소를 평가할 수 있습니다. 여러 옵션을 사용할 수 있으며 원하는 경우 다시 벡터화하는 방법을 알 수 있습니다. – horchler

+0

고마워요 : D 그걸 정리해서 도와 줘서 고마워. – Freeman

0

정확하게 이해했다면 "eval"명령을 사용하는 것이 좋습니다. "help eval"을 입력하고 필요한 것이 있는지보십시오.

+0

답변 해 주셔서 감사합니다. 나는 그것을 시험해 보았고 슬프게도 행운이 없었던 <1x1 symfun> 객체 인 <3x1 sym> 배열을 생성하는 'eig'함수의 결과물을 사용했다. <1x1 symfun> 개체는 요소에 액세스 할 수있는 몇 가지 이유를 제외하고는 동일합니다. – Freeman

관련 문제