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?

Réponses (1)

John Elliott
John Elliott le 8 Juil 2011

1 vote

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

1 commentaire

PIYUSH SWAMI
PIYUSH SWAMI le 13 Sep 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?

Connectez-vous pour commenter.

Produits

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by