Help with plot values
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi I am plotting my matrix and the x values are not what they are suppose to be. There is an example of the plot I have to make and the x-values should be from 0 to L (L is defined in my work) with 100 evenly spaced points. But I am getting that its from 1 to 5 can somepne help me please my work is below. My T_matrix is the y axis.
%initializing parameters
k=20;
P=0.1;
h=490;
A_c=4.4*10^-4;
L=0.08;
T_b=400;
T_inf=900;
nodes=5;
%build Coefficient and Constants (right hand side of eqn) matrices
T_1 = T_b;
dx = L/4;
x = dx*.5;
m = sqrt((h*P)/(k*A_c));
M = [ 1 0 0 0 0;
-1 (2+(m*dx)^2) -1 0 0;
0 -1 (2+(m*dx)^2) -1 0;
0 0 -1 (2+(m*dx)^2) -1;
0 0 0 -1 (2+(m*dx)^2)/2];
K = [T_b;
(m*dx)^2*T_inf;
(m*dx)^2*T_inf;
(m*dx)^2*T_inf;
(m*dx)^2/2*T_inf];
T = M\K;
%solove matrix
T_matrix= T;
%define analytical solution
T_analytic= ((cosh(m*(L-x)))/(cosh(m*L)))*(T_b-T_inf)+T_inf;
%plot matrix and analytic solutions
plot(T_matrix,'r')
댓글 수: 7
Daniel Pollard
2020년 12월 17일
As I mentioned in my first comment, T_matrix has 5 elements. You need 100 T values to plot against 100 x values. Alan Stevens seems to have a better grasp of your problem and has left an answer.
I recommend checking out the Matlab onramp course if you're going to be using Matlab more. It's free, and introduces the basics of the programming language and is highly recommended you do that when you're starting out with Matlab.
채택된 답변
Alan Stevens
2020년 12월 17일
편집: Alan Stevens
2020년 12월 17일
You need to define two different sets of x values. Your matrix solution results in 5 temperatures, so define
x = linspace(0,L,5)
and then plot T_matrix against this set of x's (preferably using points not lines).
You also need to define, say,
X = linspace(0,L,100)
and calculate the analytic values at these X's
T_analytic= ((cosh(m*(L-X)))/(cosh(m*L)))*(T_b-T_inf)+T_inf;
You can then plot XT_analytic against X (using lines).
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!