2013-07-11 1 views
0

몇 주 전에 MatLab을 사용하기 시작했는데, 적절한 구문/용어를 모릅니다.방정식에서 행렬의 값을 승수로 사용 하시겠습니까?

방정식에서 승수로 3x1 행렬의 값을 사용하려고합니다.

반경과 중심점이 사용자가 입력 한 값으로 정의 된 원을 그립니다.

팝업 창이있어서 값은 사용자가 입력하고 3x1 cell (answer으로 표시)에 저장됩니다. I는 다음의 방정식, 즉 매트릭스 answer(2)의 제 2 값을 사용하여 어떻게

:

X = "답변 (2) '* COS (세타) + xCentre;

이 오류 메시지가 나타납니다

Error using .* 
Matrix dimensions must agree. 

Error in Disks (line 40) 
x = 'answer(2)'.* cos(theta) + xCentre; 
+3

'answer (2)'대신''answer (2) ''문자열을 사용할 수 있습니까? – Schorsch

+1

'answer'가 셀이라면'answer {2}'(중괄호에주의)를 사용해야합니다. 그렇지 않으면'셀에 정의되지 않은 mtimes '에 대한 에러가 발생합니다. –

답변

0

MATLAB에서 아포스트로피 (''가) 문자열을 정의합니다. 행렬의 이름이 answer이라면 @Schorsch에서 언급 한대로 answer(2) 명령으로 두 번째 값을 참조 할 수 있습니다. 벡터 및 행렬에 대한 자세한 내용은 this site을 참조하십시오.

0

이전 답변에서 밝히고있는 것 외에도 정확히하기 전에 무엇을하는지 이해하는 것이 중요합니다. 변수를 처리 할 때 일반적으로 발생하는 문자열을 정의하는 경우에만 ('')을 추가하십시오. 귀하의 경우, 단순히 문자열이 아니라 숫자 세트 인 매트릭스가 있습니다. 'Answer (2)'가 존재하지 않는 변수를 정의하려고 할 때, Answer (2)가 행렬의 두 번째 값을 호출하기 때문에 앞에서 설명한 것처럼 간단히 대답 (2)을 할 수 있습니다.

가장 중요한 것은 진정으로 기본 구문 오류를 방지하기 위해 무엇을하는지 이해하고있는 것입니다.

관련 문제