주요 콘텐츠

MathWorks.MATLAB.Types.MATLABArray

MATLAB 배열에 대한 포인터를 나타내는 .NET 클래스

R2022b 이후

설명

MathWorks.MATLAB.Types.MATLABArray를 사용하여 .NET 애플리케이션에서 MATLAB® 유형을 나타낼 수 있습니다. 이 유형을 사용하면 배열 할당과 데이터 복사를 줄일 수 있습니다. 예제는 MATLABArray를 사용하여 배열 할당 줄이기 항목을 참조하십시오.

MATLAB 유형이 하나의 .NET 유형으로 직접 매핑되지는 않습니다. MATLAB은 인수를 dynamic .NET 유형으로 반환합니다. MATLABArray 객체를 애플리케이션에 맞는 특정 .NET 유형으로 변환하십시오. 예제는 MATLAB에서 .NET으로 변수 전달하기 항목을 참조하십시오.

클래스 세부 정보

네임스페이스:

MathWorks.MATLAB.Types
슈퍼클래스:System.Dynamic.DynamicObject
슈퍼클래스:System.IConvertible

예제

모두 확장

이 예제에서는 .NET 애플리케이션이 double형 변수에 메모리를 할당하는 방식을 MATLABArray 유형 변수에 사용하는 방식과 비교하여 설명합니다.

다음 C# 코드에서 이 애플리케이션은 각 .NET 스칼라 값(01)에 대한 MATLAB 배열을 생성하여 linspace 함수에 전달합니다. 그리고 linspace에서 반환되는 값을 새 .NET 배열(x1)에 복사합니다. 그런 다음, .NET 배열 x1을 새 MATLAB 배열에 복사하여 sqrt 함수에 전달하고, sqrt에서 반환되는 값을 새 .NET 배열(y1)에 복사합니다.

using (dynamic matlab = MATLABEngine.StartMATLAB())
{
	double[] x1 = matlab.linspace(0, 1);
	double[] y1 = matlab.sqrt(x1);
}

다음 코드에서 이 애플리케이션은 각 .NET 스칼라 값(01)에 대한 MATLAB 배열을 생성하여 linspace 함수에 전달합니다. 하지만 MATLABArray 객체를 사용할 때는 애플리케이션이 변수 x2y2에 대해 .NET 배열과 MATLAB 배열을 추가로 만들지 않습니다.

using (dynamic matlab = MATLABEngine.StartMATLAB())
{
	MATLABArray x2 = matlab.linspace(0, 1);
	MATLABArray y2 = matlab.sqrt(x2);
}

버전 내역

R2022b에 개발됨