26 views (last 30 days)

Show older comments

Hi Everyone

I have a matrix Z(i,j) that is a function of X and Y. Surface and contour plot look fine, but are difficult to interpret.

Is there a way to plot a function of X and Y , such that Z is equal to zero (or as close to zero as possible, since non of the elements in the Z matrix is actually zero)? What I'd like to find out is for which combinations of X and Y the Z-value is above and below zero.

My code is very long, but I did something like this to get matrix Z:

X=linspace(a,b)

Y=linspace(c,d)

for i = 1:numel(X)

Z(:,i) = functionZ(X(i))

%Functionhandle functionZ:

Z(j) = %functionZ(X)

Y=linspace(c,d)

for j = 1:numel(Y)

Z(j)= %function with parameter X

end

end

thanks in advance for any tips!

Kevin Phung
on 16 Sep 2019

Edited: Kevin Phung
on 18 Sep 2019

Correct me if I am misinterpreting your goal:

You have a function z(x,y).

You are trying to find the values of x and y that give you some particular values of Z, in this case very close to 0. You can try something like this:

% define some condition for Z values, in this case I want to look for all Z values in my

% Z matrix that are between 0 and 0.001.

% find() those values, and use ind2sub in order to grab the [row,col] pairs.

[x_ind,y_ind] = ind2sub(size(Z),find(and(Z=<0.001,Z>0 )));

xy_pairs = [X(x_ind) Y(y_ind)] % this will give you the x and y pairs

edit: you have already accepted my answer, but I forgot to include an '=' sign

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

Start Hunting!