いくつかの単純な数学計算を含む matlab simulink ブロックが必要です。最初のステップとして、定数ブロックから入力を受け取り、出力ポートで生成するブロックを作成しました。コードは matlab の例から直接取得しました。レベル 2です。 c sfunction ここに mdlouputs 関数があります
static void mdlOutputs(SimStruct *S, int_T tid)
{
int_T element;
int_T portWidth = ssGetInputPortWidth(S,0);
InputRealPtrsType uPtrs = ssGetInputPortRealSignalPtrs(S,0);
real_T *y = ssGetOutputPortSignal(S,0);
for (element=0; element<portWidth; element++) {
y[element] = *uPtrs[element];
}
}
しかし、ブロックから奇妙な出力が得られます
ここに 、入力と等しい出力を期待している結果があります
when const block(input) is 1 output is 1.875
2 2
3 2.125
10 2.563 etc.
問題が解りません