How to plot point-wise figures from existing one.

According to the attached figure w is zero for specific z. Need help how to plot only the value of z for each case (when w becomes zero).

回答(1 个)

Consider the following example:
% Data
w = -1:0.02:1;
z = (-w.^2)+10;
% Condition - logical vector
wAtZzero = w == 0;
% Plotting
% p(1) - all data
% p(2) - 'z' @ 'w=0'
f = figure;
p(1) = plot(w,z);
hold on
p(2) = scatter(w(wAtZzero),z(wAtZzero),'or');
xlabel('w');
ylabel('z');
set(gca(),...
'YAxisLocation', 'origin');
Figure output:
Terminal output:
>> z(wAtZzero)
ans =
10

4 个评论

Thanks! My inputs, w and z are arrays: z{k} and w{k}. How can I plot them specially when they are inside a loop. For example my original plot is this one
for k=1:size(y0mat,1)
plot(w{k},z{k})
end
Thanks a lot!

In order to answer that, you need to attach the content of the following variables: y0mat, w, z.

I have attached the -mat file. w and z are changed with another variable. Thanks

It's a bit confusing. In your code:

  • The bit of code you've posted in your previous reply doesn't exist so I had to add it manually to see how it plots
  • But it doesn't plot because variable w doesn't exist anymore - what is a new w then?
  • Also you've got variable z which is a vector but you're trying to access is as if it was a cell
  • Therefore, please specify: which variables do I need to plot against each other to obtain the plot you attached to this question?

Other notes:

  • I recommend moving your figure(1) declaration outside the for loop

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Graphics Performance 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by