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 个评论
Yogesh Bhambhwani
Yogesh Bhambhwani 2020-12-17
So I read the document and looked at the Modify Lines After Creation section and I got an error saying that the vectorsmust be the same length
Daniel Pollard
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
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 个)

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by