Why do I get the error "Undefined function 'function name' for input arguments of type 'cell'"
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
For a university assignment I need to compute the fixed modes of a system using a function given to us students by the professor.
The matrices are defined as such:
Atot = [0 -1 -2/3 0 0 0 0
1 0 -2/3 0 0 0 0
-3 0 -3 0 0 0 0
0 1 0 -1 0 0 0
0 0 0 0 -3/2 0 -1/4
0 3/2 0 0 -1 -1 0
0 0 0 0 1 0 -1/2];
Bdec{1}=[0 2 4 0 0 2 0]';
Bdec{2}=[0 0 0 -1 0 0 0]';
Bdec{3}=[0 0 0 0 1 -2 0;
0 0 0 0 0 -1 0]';
Ctot=eye(7);
Cdec{1}=Ctot(1:3,:);
Cdec{2}=Ctot(4,:);
Cdec{3}=Ctot(5:7,:);
And the function takes as input:
function [Difm]=di_fixed_modes(Atot,Baggr,Caggr,N,ContStruc,rounding_n)
% Computes the fixed modes of the system, with reference to the control
% information structure specified by 'ContStruc'.
%
% Inputs:
% - Atot: system matrix - either continuous-time or discrete-time.
% - Baggr: input matrices - either continuous-time or discrete-time -
% (i.e., Baggr{1},..., Baggr{N} are the input matrices of the decomposed system, one for each channel).
% - Caggr: output matrices - either continuous-time or discrete-time -
% (i.e., Caggr{1},..., Caggr{N} are the output matrices of the decomposed
% system, one for each channel).
% - N: number of subsystems.
% - ContStruc: NxN matrix that specifies the information structure
% constraints (ContStruc(i,j)=1 if communication is allowed between channel
% j to channel i, ContStruc(i,j)=0 otherwise).
% - rounding_n: the eigenvalues are rounded at the nth decimal place
%
% Output:
% - Difm: vector containing the fixed modes (if empty, there are no FMs)
But when I call the function this error "Undefined function 'di_fixed_modes' for input arguments of type 'cell'" appears, even though the function is designed for the cell type of input for the matrices B and C. This is the only part where they're used:
Btot=[];
Ctot=[];
for i=1:N
m(i)=size(Baggr{i},2);
p(i)=size(Caggr{i},1);
Btot=[Btot,Baggr{i}];
Ctot=[Ctot
Caggr{i}];
end
2 Kommentare
Voss
am 21 Jan. 2022
Could it be that di_fixed_modes.m is not on the MATLAB path? Type this on the command line and see what comes back:
which di_fixed_modes -all
Antworten (0)
Siehe auch
Kategorien
Mehr zu Stability Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!