MATLAB Answers

1-D Temperature Gradient

조회 수: 7(최근 30일)
Kubilay Akpinar
Kubilay Akpinar 2021년 5월 4일
댓글: J. Alex Lee 2021년 5월 11일
Hey everyone,
I am trying to figure out how to draw a temperature gradient of a 1-D system. I have tried to understand meshgrid but I couldn't find a way out. Plus, I have tried to use contourf but still didn't work for me. I might be using these functions wrong.
I have 19 different points and all of those points have the same x-coordinate value, only their y-coordinate values change. For example, Point_1(0, 1), Point_2(0,2), Point_3(0,3)... Basically, they form a vertical line on a coordinate system. Also, I have corresponding temperatures for every point. I want to plot a temperature gradient looking like color bars standing next to graphs but I couldn't find a proper way to do that. Could any of you please help me out to understand how to do that?
  댓글 수: 9
J. Alex Lee
J. Alex Lee 2021년 5월 11일
what exactly is it about the result "which is not wrong" that isn't what you want?

댓글을 달려면 로그인하십시오.

답변(1개)

J. Alex Lee
J. Alex Lee 2021년 5월 7일
편집: J. Alex Lee 2021년 5월 7일
your time and space point vectors are
t = 0:0.005:50; % but this gives you 10,001 points, not 10,000...so you decide what you have
x = linspace(0,9,19); % just guessing based on your image
making up some temperature matrix with the dimensions you have
tmp = rand(1,numel(x),numel(t));
it is senseless to have your first dimension in your temperature data matrix, so need to squeeze out the first dimension
tmp_a = squeeze(tmp);
turns out you don't even need meshgrid because contourf will imply it for you (if you get the order of dimensions right)
contourf(t,x,tmp_a)
or if you want t and x transposed
contourf(x,t,transpose(tmp_a))

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by