Does codegen handle qz?
22 次查看(过去 30 天)
显示 更早的评论
I have an m-file that I'm trying to run through codegen to create a mex file that uses the QZ decomposition. I get the following error: "??? Undefined function or variable 'qz'." I include the %#codegen tag, and the editor doesn't notice any problems in the file. Does anybody know of a workaround? I guess I could code my own version of qz, but this seems like it should be unnecessary.
0 个评论
采纳的回答
Arnaud Miege
2011-4-26
Unfortunately, qz is not listed in the Functions Supported for Code Generation, so yes, you'll need to write your own version of qz, using supported functions.
HTH,
Arnaud
更多回答(1 个)
Mike Hosea
2011-4-26
If you go with an extrinsic call, your call site should look something like one of these two. The pre-definition of the output types will probably save you a lot of trouble.
eml.extrinsic('qz'); %or coder.extrinsic starting in 11a.
AA = complex(zeros(size(A)));
BB = complex(zeros(size(A)));
Q = complex(zeros(size(A)));
Z = complex(zeros(size(A)));
V = complex(zeros(size(A)));
W = complex(zeros(size(A)));
[AA, BB, Q, Z, V, W] = qz(A,B,'complex');
AAr = zeros(size(A));
BBr = zeros(size(A));
Qr = zeros(size(A));
Zr = zeros(size(A));
Vr = zeros(size(A));
Wr = zeros(size(A));
[AAr, BBr, Qr, Zr, Vr, Wr] = qz(A,B,'real');
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!