how to convert complex number into double number?

I have got this complex value from result of an equation such :( 0.7803 + 0.0000i -0.3681 + 0.5659i 0.8562 + 0.0000i -0.8941 + 0.0428i 0.7861 + 0.0000i
0.0303 + 0.8492i 0.8508 + 0.0000i -0.5537 - 0.5875i 0.7910 + 0.0000i -0.7290 - 0.2247i)
i need to convert the result to double, How?

8 件のコメント

John D'Errico
John D'Errico 2022 年 1 月 24 日
編集済み: John D'Errico 2022 年 1 月 24 日
They ARE double precision! The real part i double precision. The imaginary part is double precision.
You cannot just hide your head in the sand and pretend they are not complex though.
Arshub
Arshub 2022 年 1 月 24 日
@John D'Errico say I need only only one double value from this value ( x= 0.0303 + 0.8492i) , ineed to use the result in mod function : mod(x,256), because mod function dont accept complex but real value. Hence x should be real not complex, how to convert x to real ?
Walter Roberson
Walter Roberson 2022 年 1 月 24 日
real(x) imag(x) abs(x) ?
Arshub
Arshub 2022 年 1 月 24 日
@Walter Roberson i think that what i need, so thanks.
John D'Errico
John D'Errico 2022 年 1 月 25 日
I'm sorry, but I think you are missing the point. If you need to compute a modular result from that and the variable is complex, then you did something wrong. That is why I said you should not just pretend it is real, and ignore the imaginary part. Closing your eyes to a problem does not make it go away. That only works when we are children, and even then...
Arshub
Arshub 2022 年 1 月 25 日
@John D'Errico no matter, but please look for my code i need to compute z1, this code from one paper, the line: x(j+1)= (sin(r)); cause the complex value. how we can solve this problem?
siz=256;
x=nan(1,siz+1); %<------------PREALLOCATE!!!
y=nan(1,siz+1); %<------------PREALLOCATE!!!
Z=0.78;% initial value of control parameter Z for cofusion
E=0.95;% initial value of control parameter E for cofusion
%u=1.58;% initial value for cofusion
x(1)=0.75;% initial value
y(1)=0.2963 ; %u*x(1)*(1-x(1));%y(1) 0.2963 initial value
for j=1:siz
r=(Z/y(j))^(3/2);
x(j+1)= (sin(r));
w=(E*acos(x(j)));
y(j+1)=(cos(w));
end
xx=(x(2:siz+1)*10^14);
dd=round(xx);
z1=mod(dd,siz);
David Hill
David Hill 2022 年 1 月 25 日
We have no idea what you are trying to do. Some background would be helpful. You are obviously going to get complex results when cos(w) goes negative. You could force y to be positive by abs(cos(w)), but just like John said you cannot hide your head in the sand. We don't know what you are modeling or doing, so we can't help you.
Arshub
Arshub 2022 年 1 月 25 日
@David Hill i need to implement this function in attached image to get sequence values for x and with initial value as in program......

サインインしてコメントする。

 採用された回答

Walter Roberson
Walter Roberson 2022 年 1 月 25 日

0 投票

siz=256;
x=nan(1,siz+1); %<------------PREALLOCATE!!!
y=nan(1,siz+1); %<------------PREALLOCATE!!!
Z=0.78;% initial value of control parameter Z for cofusion
E=0.95;% initial value of control parameter E for cofusion
%u=1.58;% initial value for cofusion
x(1)=0.75;% initial value
y(1)=0.2963 ; %u*x(1)*(1-x(1));%y(1) 0.2963 initial value
for j=1:siz
r=(Z/y(j));
x(j+1)= sin(r).^(3/2);
w=(E*acos(x(j)));
y(j+1)=(cos(w));
end
plot(x, y)

2 件のコメント

Arshub
Arshub 2022 年 1 月 25 日
@Walter Roberson Thanks alot for your help, but all values not chaotic as auther of this function indicate in his paper, so i think there is something wrong.
Walter Roberson
Walter Roberson 2022 年 1 月 25 日
Sorry, I do not know. I am not able to reproduce the authors' plots.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMATLAB についてさらに検索

製品

リリース

R2014a

Community Treasure Hunt

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

Start Hunting!

Translated by