0
$\begingroup$

I need some help from expert. I already read about the plot with Identity, I but I not really understand and I think my problem is different and I confuse to used what command of plot.

Here the matrix,

A = {{E^(I*β1 + I*β3)*Cos[β2*t], E^(I*β1 - I*β3)*Sin[β2*t]}, 
     {(-E^((-I)*β1 + I*β3))*Sin[β2*t], E^((-I)*β1 - I*β3)*Cos[β2*t]}}; 
β1 = 0.; 
β2 = Pi; 
β3 = 0.; 
t = 0; 

tu = Table[t++; t = t + TimeUsed[]; Print[A]; t, {i, 1, 10}]

ListPlot[tu]

and the ouput;

{{0.33873792024528937 + 0.*I, -0.9408807689542262 + 0.*I}, 
  {0.9408807689542262 + 0.*I, 0.33873792024528937 + 0.*I}}
{{-0.7705132427757919 + 0.*I, -0.6374239897486864 + 0.*I}, 
  {0.6374239897486864 + 0.*I, -0.7705132427757919 + 0.*I}}
{{-0.8852313113324524 + 0.*I, 0.4651510780774637 + 0.*I}, 
  {-0.4651510780774637 + 0.*I, -0.8852313113324524 + 0.*I}}
{{0.0878511965507509 + 0.*I, 0.9961336091431718 + 0.*I}, 
  {-0.9961336091431718 + 0.*I, 0.0878511965507509 + 0.*I}}
{{0.9529793415172217 + 0.*I, 0.30303526963276495 + 0.*I}, 
  {-0.30303526963276495 + 0.*I, 0.9529793415172217 + 0.*I}}
{{0.6470559615694358 + 0.*I, -0.7624425110114551 + 0.*I}, 
  {0.7624425110114551 + 0.*I, 0.6470559615694358 + 0.*I}}
{{-0.4539904997395583 + 0.*I, -0.891006524188362 + 0.*I}, 
  {0.891006524188362 + 0.*I, -0.4539904997395583 + 0.*I}}
{{-0.9971589002606128 + 0.*I, 0.07532680552794735 + 0.*I}, 
  {-0.07532680552794735 + 0.*I, -0.9971589002606128 + 0.*I}}
{{-0.31498651965528923 + 0.*I, 0.9490961449902997 + 0.*I}, 
  {-0.9490961449902997 + 0.*I, -0.31498651965528923 + 0.*I}}
{{0.7542513807361156 + 0.*I, 0.6565857557529428 + 0.*I}, 
  {-0.6565857557529428 + 0.*I, 0.7542513807361156 + 0.*I}}

ouput of graph;

plot

My problems;

  1. I want to plot the result of this matrix but i read that real part cannot be combine with imaginary part, hence How can I plot the graph that I want to consider both during plot (I mean I want to get one coordinate include real and imaginary part). It is possible?
  2. I used ListPlot[tu] to represent the data. It is true?
$\endgroup$
1
  • 4
    $\begingroup$ You might want to use Chop[] on the list you got. $\endgroup$ Commented Jun 16, 2016 at 2:42

2 Answers 2

0
$\begingroup$

In general, you can always separate the Re and Im part from a data and plot them individually

data = RandomComplex[1 + 1 I, {10, 2}]; (*any set of of complex data*)

data11 = {Re@#[[1]], Re@#[[2]]} &/@ data;
data12 = {Re@#[[1]], Im@#[[2]]} &/@ data;
data21 = {Im@#[[1]], Re@#[[2]]} &/@ data;
data22 = {Im@#[[1]], Im@#[[2]]} &/@ data;

ListLinePlot[{data11, data12, data21, data22}]
$\endgroup$
1
  • $\begingroup$ tqvm for the respond. I will discover for that. $\endgroup$
    – munirah
    Commented Jun 17, 2016 at 2:43
1
$\begingroup$

This is not a answer, but an extended comment.

Here is your code cleaned up (I reduce the number of iterations from 10 to 3 to save space).

β1 = 0.;
β2 = N[Pi];
β3 = 0.;
a[t_] = 
  {{E^(I*β1 + I*β3)*Cos[β2*t], E^(I*β1 - I*β3)*Sin[β2*t]}, 
   {(-E^((-I)*β1 + I*β3))*Sin[β2*t], E^((-I)*β1 - I*β3)*Cos[β2*t]}} // Chop

{{1. Cos[3.14159 t], 1. Sin[3.14159 t]}, {-1. Sin[3.14159 t], 1. Cos[3.14159 t]}}

Note that there are no complex values.

tu = Module[{t = 0.},Table[t += 1. + TimeUsed[]; Print[a[t]]; i, 3]]

output

{8.7486, 17.4973, 26.2461}

ListPlot[tu]

plot

The printed values of the matix a[t] are all real-valued, but are not captured by your algorithm. They could had by making a simple modification.

Module[{t = 0.}, Table[t += 1. + TimeUsed[]; a[t], 3]]

{{{-0.74568, 0.666305}, {-0.666305, -0.74568}}, {{0.112157, -0.99369}, {0.99369, 0.112157}}, {{0.578378, 0.815769}, {-0.815769, 0.578378}}}

However, I can not understand from your question how you expect to make a plot of a list of 2 x 2 matrices. Can you make your intent clearer?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.