When I run this function, it gives the error "Data 'u_pr' (#427) is inferred as a variable size matrix, while its specified type is something else.". What is the solution for this problem? I will be happy for helps.
조회 수: 4 (최근 30일)
이전 댓글 표시
function [opt_st, u_pr, y_pr, cv_pr] = fcn( nu, ny, Np)
%#codegen
coder.extrinsic('mpc_ea');
opt_st = zeros(1); u_pr = zeros(nu,Np+1); y_pr = zeros(ny,Np+1); cv_pr =zeros(1);
[opt_st, u_pr, y_pr, cv_pr] = mpc_ea;
댓글 수: 0
채택된 답변
Ryan Livingston
2014년 8월 18일
The variable u_pr is being declared as:
u_pr = zeros(nu,Np+1);
which means that it is variable size since its dimensions depend upon the inputs nu, Np, which are not known until run time.
You need to mark the output signal u_pr as being variable size in the ports and data manager:
and provide upper bounds for it there.
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Deployment, Integration, and Supported Hardware에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!