Error in port widths or dimensions

Hi everyone, I have a problem when running my simulink file. I have pid block and s-function block diagram in simulink file with the 11 outputs and 1 input. When I try to run this file I receive the following error for pid block:
Error in port widths or dimensions. Output port 1 of 'project1_simu/PID Controller' is a one dimensional vector with 11 elements
and the following error for s-function file:
Error in port widths or dimensions. Input port 1 of 'project1_simu/S-Function' is a one dimensional vector with 1 elements
How to solve this error?

 采纳的回答

Apparently the S-function expects a scalar value, but you are feeding in a vector of length=11. If you've written the S-function, you need to use something like "ssSetInputPortWidth(S, 0, 11);" or "ssSetInputPortWidth(S, 0, DYNAMICALLY_SIZED);" in mdlInitializeSizes.

2 个评论

Thanks...but i received another error
" State derivatives returned by S-function 'chiu_sfcn' in 'project1_simu/S-Function1' during flag=1 call must be a real vector of length 11."
Do you have any ideas on how to solve this?
The error clearly states the issue. The value you are returning for flag=1 needs to be a real vector of length=11. What are you returning in "sys"?

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Block and Blockset Authoring 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by