Main Content

param.Continuous

연속 조정 가능형 파라미터

설명

연속 파라미터는 지정된 구간 내에서 임의의 값을 가질 수 있는 숫자형 파라미터입니다. 파라미터는 스칼라 값 또는 배열 값일 수 있습니다.

일반적으로 연속 파라미터를 사용하여 모수적 모델을 만들고 이러한 모델에서 조정 가능형 파라미터를 추정하거나 최적화합니다. 예를 들어 sdo.optimize로 응답 최적화 또는 파라미터 추정을 수행할 때, sdo.getParameterFromModel을 사용하여 Simulink® 모델의 파라미터에 대응하는 param.Continuous 객체를 생성합니다.

생성

다음 방법 중 하나를 사용하여 연속 parameter 객체를 생성합니다.

  • sdo.getParameterFromModel(Simulink 모델의 연속 값 파라미터에 대응하는 객체를 생성하는 경우)

  • param.Continuous 함수

설명

p = param.Continuous(name)은 스칼라 파라미터를 생성하고 Name 속성을 설정합니다. 객체의 나머지 속성은 디폴트 값을 갖습니다.

예제

p = param.Continuous(name,value)value와 차원이 동일한 파라미터를 생성하고 Value 속성을 설정합니다.

속성

모두 확장

읽기 전용 속성입니다.

파라미터 이름으로, 문자형 벡터 또는 string형 스칼라로 지정되고 문자형 벡터로 저장됩니다. 객체 생성 시 Name을 설정합니다.

파라미터 값으로, 스칼라 또는 배열로 지정됩니다. 이 속성의 차원이 파라미터의 차원을 결정합니다. 객체 생성 시 Value를 설정합니다.

파라미터 값의 하한으로, 스칼라 또는 배열로 지정됩니다. 이 속성의 차원은 Value 속성의 차원과 일치합니다.

배열 값 파라미터의 경우 다음을 수행할 수 있습니다.

  • 개별 배열 요소에 대한 하한을 지정합니다. 예를 들어 p.Minimum([1 4]) = -5와 같이 지정합니다.

  • 스칼라 확장을 사용하여 모든 배열 요소에 대한 하한을 설정합니다. 예를 들어 p.Minimum = -5와 같이 지정합니다.

파라미터 값의 상한으로, 스칼라 또는 배열로 지정됩니다. 이 속성의 차원은 Value 속성의 차원과 일치합니다.

배열 값 파라미터의 경우 다음을 수행할 수 있습니다.

  • 개별 배열 요소에 대한 상한을 지정합니다. 예를 들어 p.Maximum([1 4]) = 5와 같이 지정합니다.

  • 스칼라 확장을 사용하여 모든 배열 요소에 대한 상한을 설정합니다. 예를 들어 p.Maximum = 5와 같이 지정합니다.

파라미터가 조정 가능한지 여부의 표시로, 숫자형이나 논리형(즉, 1(true) 또는 0(false)) 또는 이러한 값으로 구성된 배열로 지정됩니다.

스칼라 파라미터의 경우:

  • Free = 1 (true)는 최적화 중에 파라미터를 조정할 수 있음을 의미합니다.

  • Free = 0 (false)는 최적화 중에 파라미터 값이 고정되어 있음을 의미합니다.

배열 값 파라미터의 경우, Free의 차원은 Value 속성의 차원과 일치합니다. 배열 값 파라미터의 경우 다음을 수행할 수 있습니다.

  • 개별 배열 요소를 고정합니다. 예를 들어 p.Free = [1 0; 0 1]은 최적화 중에 2×2 행렬 값 파라미터의 비대각선 요소를 고정하지만 대각선 요소의 조정은 허용됩니다. 마찬가지로 p.Free([2 3]) = 0p의 두 번째 요소와 세 번째 요소를 고정합니다.

  • 스칼라 확장을 사용하여 모든 배열 요소를 고정합니다. 예를 들어 p.Free = false는 최적화 중에 p의 모든 요소의 값을 고정합니다.

파라미터 값을 정규화하기 위한 스케일링 인자로, 스칼라 또는 배열로 지정됩니다. 이 속성의 차원은 Value 속성의 차원과 일치합니다.

배열 값 파라미터의 경우 다음을 수행할 수 있습니다.

  • 개별 배열 요소에 대한 스케일링을 지정합니다. 예를 들어 p.Scale([1 4]) = 1과 같이 지정합니다.

  • 스칼라 확장을 사용하여 모든 배열 요소에 대한 스케일링을 설정합니다. 예를 들어 p.Scale = 1과 같이 지정합니다.

파라미터 단위 및 레이블로, 필드 LabelUnit을 갖는 구조체형 배열로 지정됩니다. 배열 차원은 Value 속성의 차원과 일치해야 합니다.

이 속성을 사용하여 파라미터를 설명하는 파라미터 단위 및 레이블을 저장합니다. 예를 들어 p.Info(1,1).Unit = 'N/m'; 또는 p.Info(1,1).Label = 'spring constant'와 같이 지정합니다.

Label 필드와 Unit 필드에 대한 디폴트 값은 모두 ''입니다.

객체 함수

isreal파라미터 값, 최솟값, 최댓값이 실수인지 확인

예제

모두 축소

Simulink 모델을 엽니다.

load_system("sldo_model1_stepblk")

모델 파라미터를 지정하지 않은 경우 sdo.getParameterFromModel은 모델에서 모든 조정 가능형 파라미터를 찾고 이를 연속 파라미터로 처리합니다.

DesignVars = sdo.getParameterFromModel("sldo_model1_stepblk");
DesignVars
 
DesignVars(1,1) =
 
       Name: 'Kd'
      Value: 0
    Minimum: -Inf
    Maximum: Inf
       Free: 1
      Scale: 1
       Info: [1x1 struct]

 
DesignVars(2,1) =
 
       Name: 'Ki'
      Value: 0
    Minimum: -Inf
    Maximum: Inf
       Free: 1
      Scale: 1
       Info: [1x1 struct]

 
DesignVars(3,1) =
 
       Name: 'Kp'
      Value: 1
    Minimum: -Inf
    Maximum: Inf
       Free: 1
      Scale: 1
       Info: [1x1 struct]

 
DesignVars(4,1) =
 
       Name: 'w0'
      Value: 0.5000
    Minimum: -Inf
    Maximum: Inf
       Free: 1
      Scale: 0.5000
       Info: [1x1 struct]

 
DesignVars(5,1) =
 
       Name: 'zeta'
      Value: 0.5000
    Minimum: -Inf
    Maximum: Inf
       Free: 1
      Scale: 0.5000
       Info: [1x1 struct]

 
5x1 param.Continuous
 

따라서 이 모델에는 조정 가능형 파라미터 Kd, Ki, Kp, w0, zeta가 있으며 출력값 DesignVars는 5개의 param.Continuous 객체로 구성된 배열입니다. 최적화를 위한 파라미터를 준비하기 위해 필요에 따라 초기값, 최솟값과 최댓값, 각 파라미터의 자유 요소를 설정할 수 있습니다. 예를 들어 Kd의 최솟값을 0.001로, 최댓값을 100으로, 초기값을 1로 설정합니다.

DesignVars(1).Minimum = 1e-3;
DesginVars(1).Maximum = 100;
DesignVars(1).Value = 1;

2×2 행렬 값 param.Continuous 객체를 구성하고 초기값을 단위 행렬로 설정합니다.

p = param.Continuous('K',eye(2)) 
 
p =
 
       Name: 'K'
      Value: [2x2 double]
    Minimum: [2x2 double]
    Maximum: [2x2 double]
       Free: [2x2 logical]
      Scale: [2x2 double]
       Info: [2x2 struct]

 
1x1 param.Continuous
 

최적화 중에 p의 모든 요소가 가질 수 있는 최댓값을 설정합니다.

p.Maximum = 5;

2×2 행렬을 사용하여 각 요소에 다른 최솟값을 할당합니다.

p.Minimum = [-1 -10; 0.02 1];

대신에, 최적화 중에 p의 대각선 요소는 1로 고정된 상태로 유지하되 비대각선 요소는 변경할 수 있도록 한다고 가정해 보겠습니다. 먼저, 값이 1인 대각선 요소가 현재 값에 포함되어 있는지 확인합니다. 그런 다음 Free 속성을 사용하여 이 값으로 대각선 요소를 고정합니다.

p.Value
ans = 2×2

     1     0
     0     1

p.Free = [0 1; 1 0];

버전 내역

R2012b에 개발됨