Creating discretized grid without values, only text
2 views (last 30 days)
Show older comments
Aram Eskandari
on 14 Oct 2018
Commented: Star Strider
on 14 Oct 2018
Hi,
I'm trying to recreate a figure that looks similar to this one (reference: Introduction to computation and modeling for differential equations by Lennart Edsberg);
Any help would be greatly appreciated. I don't know how to create a plot without any values (only text on some of the discretizations), and when I create a grid it automatically grids both axis, I just want the x-axis discreticized.
0 Comments
Accepted Answer
Star Strider
on 14 Oct 2018
Try this:
x = 0:0.1:1;
y = 0.25;
figure
plot([x; x], [ones(1, numel(x))*0.5; zeros(1, numel(x))], 'k')
text(0, y, sprintf('\\itu\\rm(x_0,\\itt\\rm) = \\alpha(\\itt\\rm)'), 'Rotation',90, 'HorizontalAlignment','center', 'VerticalAlignment','top')
for k1 = 2:numel(x)-1
text(x(k1), y, sprintf('\\itu\\rm(x_%.0f,\\itt\\rm) = \\itu\\rm_%.0f(\\itt\\rm)',[10 10]*x(k1)), 'Rotation',90, 'HorizontalAlignment','center', 'VerticalAlignment','top')
end
text(1, y, sprintf('\\itu\\rm(1,\\itt\\rm) = \\beta(\\itt\\rm)'), 'Rotation',90, 'HorizontalAlignment','center', 'VerticalAlignment','bottom')
ylabel('\itt')
Experiment to get the result you want.
2 Comments
More Answers (1)
Stephan
on 14 Oct 2018
Hi,
Here is a quick and dirty example:
x = [];
y = [];
plot(x,y)
xlim([0 1]);
lines = 0:0.1:1;
for k = 1:numel(lines)
xl(k) = xline(lines(k),'-',{'u(xi,t)=alpha(t)'});
xl(k).LabelVerticalAlignment = 'middle';
end
which results in:
Best regards
Stephan
2 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!