이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

Feval (COM)

자동화 서버(Automation Server)에서 MATLAB 함수 실행(Evaluate Function)

요약

IDL 메서드 시그니처

HRESULT Feval([in] BSTR functionname, [in] long nargout, 
[out] VARIANT* result, [in, optional] VARIANT arg1, arg2, ...)

Microsoft Visual Basic 클라이언트

Feval(String functionname, long numout, 
arg1, arg2, ...) As Object

MATLAB 클라이언트

result = Feval(h,'functionname',numout,arg1,arg2,...)

설명

result = Feval(h,'functionname',numout,arg1,arg2,...)는 자동화 서버에서 핸들 h에 연결된 functionname으로 지정된 MATLAB® 함수를 실행합니다. 함수 이름은 대/소문자를 구분합니다.

COM 객체의 함수는 Microsoft® Windows® 시스템에서만 사용할 수 있습니다.

함수가 반환하는 출력값의 개수를 1x1 double형 배열 numout으로 표시합니다. 서버는 함수의 출력을 셀형 배열, result로 반환합니다.

함수에 전달될 입력 인수를 32개까지 지정할 수 있습니다. 이러한 인수는 Feval 인수 목록에서 numout 뒤에 옵니다. 다음 표는 인수를 전달하는 방법을 보여줍니다.

전달 메커니즘

설명

값 자체를 전달

숫자형 값이나 문자형 값을 전달하려면 Feval 인수 목록에서 값을 지정하십시오.

a = Feval(h,'sin',1,-pi:0.01:pi);

클라이언트 변수 전달

클라이언트의 변수에 할당된 인수를 전달하려면 변수 이름을 단독으로 지정하십시오.

x = -pi:0.01:pi;
a = Feval(h,'sin',1,x);

서버 변수 참조

서버에 정의된 변수를 참조하려면 변수 이름 다음에 같음(=) 기호를 지정하십시오.

PutWorkspaceData(h,'x','base',-pi:0.01:pi);
a = Feval(h,'sin',1,'x=');

MATLAB은 서버 변수를 다시 할당하지 않습니다.

Visual Basic .NET 예제

인수 전달

이 예제에서는 Visual Basic® .NET 클라이언트에서 MATLAB 자동화 서버의 MATLAB 명령을 실행하기 위해 Feval을 사용하여 인수를 전달하는 방법을 보여줍니다. VBA 코드를 실행하는 제품에서 예제를 실행하려면 항목을 참조하십시오.

  • 다음과 같이 서버의 MATLAB 함수 strcat에 2개의 문자열을 전달합니다.

    Dim Matlab As Object 
    Dim out As Object 
    out = Nothing 
    Matlab = CreateObject("matlab.application") 
    Matlab.Feval("strcat",1,out,"hello"," world") 
    
  • clistr을 로컬로 정의하고 변수로 전달합니다.

    Dim clistr As String
    clistr = " world"
    Matlab.Feval("strcat",1,out,"hello",clistr)
  • 서버에 정의된 변수의 이름을 전달합니다.

    Matlab.PutCharArray("srvstr","base"," world")
    Matlab.Feval("strcat",1,out,"hello","srvstr=")

Feval 반환 값 정의

Feval은 실행된 함수에서 데이터를 셀형 배열로 반환합니다. 셀형 배열은 반환 값당 하나의 행을 갖습니다. numout 인수를 사용하여 반환 값 개수를 제어합니다.

Dim Matlab As Object
Dim out As Object
Matlab = CreateObject("matlab.application")
Matlab.Feval("fileparts",3,out,"d:\work\ConsoleApp.cpp")

  • 클라이언트 창에 Feval의 출력을 표시하려면 반환 값을 할당하십시오.

  • VBA 코드를 실행하는 Microsoft Office 제품에서 예제를 실행하려면 다음 명령문을

    MatLab = CreateObject("matlab.application")

    다음과 같이 바꿉니다.

    Set MatLab = CreateObject("matlab.application")
    

    자세한 내용은 VBA 제품 문서를 참조하십시오.

R2006a 이전에 개발됨