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?

Risposte (1)

John Elliott
John Elliott il 8 Lug 2011

1 voto

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

1 Commento

PIYUSH SWAMI
PIYUSH SWAMI il 13 Set 2021
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?

Accedi per commentare.

Prodotti

Tag

Richiesto:

il 8 Lug 2011

Commentato:

il 13 Set 2021

Community Treasure Hunt

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

Start Hunting!

Translated by