how to plot impulses obtaining x and y values (non periodic) from 2 separate matrices

3 次查看(过去 30 天)
I want to be able to plot x and y data stored in two separate matrices as an impulse graph similar to the image below but not periodic. I know the stem function is used to generate these types of graphs but the difference here is that my data is aperiodic. Any feedback would be much appreciated. Thank you.
  2 个评论
Paul
Paul 2021-11-12
It would be helpful to post input data for the simplest possible example that illustrates the problem and explain how that data should be turned into the desired output.
Ruben Leon
Ruben Leon 2021-11-12
Sure. These are two (2x3) matrices containg the typy of data I would like to plot.
SpurOffsetFreq = [37.467 56.486 85.159; 56.486 86.693 113.309];
SpurLeveldBc = [-96.527 -97.912 -83.814; -100.779 -84.146 -92.496];
but instead of ploting it using the regular plot function (shown below) which connects each data point (image below) I want to plot an impulse/vector located at each x value going up to its corresponding y value. A noise floor would have to be set lets say at y=-110dBc and so there would be a vector going from -110 to -96.527(y) located at 37.467(x) and so on for all the data points.
figure
hold on
for i = 1:N
plot(SpurOffsetFreq(i,:),SpurLeveldBc(i,:))
end
xlabel('Spur Offset Frequency (KHz)')
ylabel('Spur Level (dBc)')

请先登录,再进行评论。

采纳的回答

Paul
Paul 2021-11-13
Is one of these what you want?
SpurOffsetFreq = [37.467 56.486 85.159; 56.486 86.693 113.309];
SpurLeveldBc = [-96.527 -97.912 -83.814; -100.779 -84.146 -92.496];
% two separate stem plots
figure;
hold on;
for ii = 1:2
stem(SpurOffsetFreq(ii,:),SpurLeveldBc(ii,:),'BaseValue',-110);
end
% single stem plot
figure
stem(SpurOffsetFreq(:),SpurLeveldBc(:),'BaseValue',-110)
  1 个评论
Ruben Leon
Ruben Leon 2021-11-15
编辑:Ruben Leon 2021-11-15
Hi Paul, yes, thats exactly what I need. Thank you! I thought Periodicity was a requirement for using the stem function but I was clearly wrong.

请先登录,再进行评论。

更多回答(1 个)

Dave B
Dave B 2021-11-13
I think you were correct that stem is the correct command. I'm not sure why periodicity factors in, from your description...how about this?
SpurOffsetFreq = [37.467 56.486 85.159; 56.486 86.693 113.309];
SpurLeveldBc = [-96.527 -97.912 -83.814; -100.779 -84.146 -92.496];
% the loop is not necessary when your data are in a matrix
stem(SpurOffsetFreq,SpurLeveldBc,'filled','BaseValue',-110)
xlabel('Spur Offset Frequency (KHz)')
ylabel('Spur Level (dBc)')

类别

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

产品


版本

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by