C++ code generation fail

I need to translate my program written in Matlab to C++. When I use MATLAB Coder, it offers me to define all variables which are input parameters for the function, but all local variables it defines itself, and by default it makes most of them non-complex. During translating, I've got message: "Cannot assign a complex value into a non-complex location." How can I directly declare local variables as complex?

Answers (1)

John Elliott
John Elliott on 8 Jul 2011

1 vote

Instead of, say,
z = 42;
use
z = complex(42);

1 Comment

Codegen is giving the same error for this line:
state.icaweights = V / sqrt(D) * V' * state.icaweights;
When I tried the codegen again by writing:
state.icaweights = complex(V / sqrt(D) * V' * state.icaweights);
OR
state.icaweights = double(V / sqrt(D) * V' * state.icaweights);
it still provided the same error. Can anyone please help in rectification of this error?

Sign in to comment.

Products

Tags

Asked:

on 8 Jul 2011

Commented:

on 13 Sep 2021

Community Treasure Hunt

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

Start Hunting!