2012-05-31 1 views
4

Я пытаюсь указать параметр определенного типа в зависимости от условия, которое необходимо выполнить. Но я не совсем уверен, как это сделать или если это действительно возможно/законно в Modelica. В принципе то, что я хотел бы иметь что-то вроде этого (например, неработающего кода):Возможно присвоение условного типа для параметра?

package test 
type TypeA=enumeration(A,C,E); 
type TypeB=enumeration(B,D,F); 

model foo 
    parameter Boolean Condition; 
    parameter if Condition then TypeA else TypeB MyParameter; 
end foo; 
end test; 
+0

Было бы здорово, если бы это сработало. :-П – Christoph

ответ

2

Я надеялся добиться этого сменной модели или сменного типа, но я не получаю там.

Однако приведенный ниже код позволяет вам изменить тип MyParameter в мгновение ока foo. Возможно, это помогает, или это дает вдохновение кому-то, чтобы закончить работу.

package test 
type TypeA = enumeration(A,C, E); 
type TypeB = enumeration(B, D, F); 

model foo 
    parameter Boolean Condition; 
    replaceable type MyType = TypeA; 
    parameter MyType MyParameter; 
end foo; 

model UseFoo 
    foo myfoo(Condition=true, redeclare TypeB MyType, 
    MyParameter = TypeB.B); 
end UseFoo; 

end test; 

 Смежные вопросы

  • Нет связанных вопросов^_^