How to plot fixed value for a number of ranges splited by a fixed step size in MATLAB?

4 views (last 30 days)
How to plot the figure in the image given below?

Accepted Answer

Giuseppe Inghilterra
Giuseppe Inghilterra on 17 Feb 2020
Hi,
you can obtain your plot by using 'bar' matlab function (reference: https://www.mathworks.com/help/matlab/ref/bar.html).
For example if you run the following lines:
x = -1.5:0.1:1.5;
y = zeros(1,31);
y(10) = 0.8;
y(15) = 0.6;
bar(x,y,0)
you obtain the following plot:
The 3rd input argument of bar function specify the width of each bar. In this case it is set to 0 in order to obtain your plot.
Then you can control label of x-axis and y-axis by using xlabel and ylabel function (example: xlabel('Coefficient value'), ylabel('Distribution') and set axes limits by using xlim, ylim functions.
  4 Comments
Giuseppe Inghilterra
Giuseppe Inghilterra on 18 Feb 2020
y(10) is just an example. You fill x and y with your data.
If you see reference link for bar MATLAB function you can find interesting example where you can customize bar plot. Ex: you can specify facecolor, edgecolor by giving RGB values.
Heya :)
Heya :) on 29 Feb 2020
Can you please tell me why i am getting this error that (x should be the same length as y in the following program? I have checked the lengths and both are 19.
close all; clear all; clc;
x = -9:1:9;
y = zeros(2,20);
y(2)=(0.05);
y(10)=(0.8);
y(19)=(0.05);
bar(x,y,0)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!