How to plot a matrix with loop of input Variables

I want to run the below code from the value of Bx 0 to 0.0118 with an interval of .00092 and plot it in e vs Bx, where e is a 4*1 matrix. I found some problem while plotting and I am very poor in working with loops.
Bx=0:.00092:0.0115;
B=0.5*1.978*0.467*30*Bx;
D=-7.31;
E=-1.71;
Bz=0.5*1.969*0.467*30*0;
A=[2*D+3*Bz,sqrt(3)*B,sqrt(3)*E,0;sqrt(3)*B,Bz,2*B,sqrt(3)*E;sqrt(3)*E,2*B,-Bz,sqrt(3)*B;0,sqrt(3)*E,sqrt(3)*B,2*D-3*Bz]
e=eig(A)
D=eig(A,'matrix')
plot(Bx,e)
Here I wrote the code straight away and may not be correct,

Respuestas (4)

Walter Roberson
Walter Roberson el 22 de Nov. de 2017
syms Bx
B=0.5*1.978*0.467*30*Bx;
D=-7.31;
E=-1.71;
Bz=0.5*1.969*0.467*30*0;
A=[2*D+3*Bz,sqrt(3)*B,sqrt(3)*E,0;sqrt(3)*B,Bz,2*B,sqrt(3)*E;sqrt(3)*E,2*B,-Bz,sqrt(3)*B;0,sqrt(3)*E,sqrt(3)*B,2*D-3*Bz]
e=eig(A)
fplot(e, [0, 0.0115])

1 comentario

Thank you, but it seems to take the Bx only the value of 0.0115 instead of the other values from 0 at a regular interval of .00092. Simply, it continuously plot the value of 0.0115 from 0 to 0.0115. Moreover, the answer from Joy Mondal works well.
  • Item one
  • Item two

Iniciar sesión para comentar.

Joy Mondal
Joy Mondal el 22 de Nov. de 2017

0 votos

Please try this code

1 comentario

Thank you Joy. Your code is working well. It would be great if you share how to change the scale of x and y axis in the graph as well as different colour for four different values of e as it quite difficult to identify from the graph

Iniciar sesión para comentar.

Joy Mondal
Joy Mondal el 22 de Nov. de 2017

0 votos

  • clear all
  • clc
  • for Bx=0:.00092:0.0115
  • i=0;
  • B=0.5*1.978*0.467*30*Bx;
  • D=-7.31;
  • E=-1.71;
  • Bz=0.5*1.969*0.467*30*0;
  • A=[2*D+3*Bz,sqrt(3)*B,sqrt(3)*E,0;
  • sqrt(3)*B,Bz,2*B,sqrt(3)*E;
  • sqrt(3)*E,2*B,-Bz,sqrt(3)*B;
  • 0,sqrt(3)*E,sqrt(3)*B,2*D-3*Bz];
  • e=eig(A);
  • j=0;
  • for i=1:4
  • j=j+1;
  • ei=e(i,1);
  • plot(Bx,ei,'ok')
  • hold on
  • end
  • end

2 comentarios

Stephen23
Stephen23 el 22 de Nov. de 2017
@Joy Mondal: please format your code correctly. It is very simple: first select the code text, then click the {} Code button above the textbox.
Joy Mondal
Joy Mondal el 23 de Nov. de 2017
Editada: Joy Mondal el 23 de Nov. de 2017
Thanks Stephen.

Iniciar sesión para comentar.

Joy Mondal
Joy Mondal el 23 de Nov. de 2017
Editada: Joy Mondal el 23 de Nov. de 2017
clc
clear all
for Bx=0:.00092:0.0115
i=0;
B=0.5*1.978*0.467*30*Bx;
D=-7.31;
E=-1.71;
Bz=0.5*1.969*0.467*30*0;
A=[2*D+3*Bz,sqrt(3)*B,sqrt(3)*E,0;
sqrt(3)*B,Bz,2*B,sqrt(3)*E;
sqrt(3)*E,2*B,-Bz,sqrt(3)*B;
0,sqrt(3)*E,sqrt(3)*B,2*D-3*Bz];
e=eig(A);
j=0;
for i=1:4
j=j+1;
ei=e(i,1);
if j==1
plot(Bx,ei,'dk')
elseif j==2
plot(Bx,ei,'og')
elseif j==3
plot(Bx,ei,'sb')
elseif j==4
plot(Bx,ei,'xm')
end
hold on
end
end
end

Categorías

Más información sobre Graph and Network Algorithms en Centro de ayuda y File Exchange.

Etiquetas

Editada:

el 23 de Nov. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by