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,

Antworten (4)

Walter Roberson
Walter Roberson am 22 Nov. 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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Joy Mondal
Joy Mondal am 22 Nov. 2017

0 Stimmen

Please try this code

1 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Joy Mondal
Joy Mondal am 22 Nov. 2017

0 Stimmen

  • 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 Kommentare

Stephen23
Stephen23 am 22 Nov. 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 am 23 Nov. 2017
Bearbeitet: Joy Mondal am 23 Nov. 2017
Thanks Stephen.

Melden Sie sich an, um zu kommentieren.

Joy Mondal
Joy Mondal am 23 Nov. 2017
Bearbeitet: Joy Mondal am 23 Nov. 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

Kategorien

Mehr zu Graph and Network Algorithms finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by