Effacer les filtres
Effacer les filtres

how can i compare 3 different columns of an Excel sheet with contourf plot in Matlab GUI

2 vues (au cours des 30 derniers jours)
Hello all, nowadays i am making a GUI through matlab designer to compare different parameters, i have to compare 3 different columns of Excel sheet with contourf plot. And I am getting error of 'Error using contourf (line 57) Z must be at least a 2x2 matrix.'
Thank you all in advance, please help me out, i am stucked with my task.
here is my code:
Parameter = readmatrix('GUI1.xlsx');
Parameter1 = Parameter(51*1);
Parameter2 = Parameter(51*2);
Parameter3 = Parameter(51*3);
Parameter4 = Parameter(51*4);
if (strcmp(app.XAchseParameterDropDown.Value,'DE'))
X = Parameter1;
elseif (strcmp(app.XAchseParameterDropDown.Value,'DI'))
X = Parameter2;
elseif (strcmp(app.XAchseParameterDropDown.Value,'DrE'))
X = Parameter3;
else
X = Parameter4;
end
if (strcmp(app.YAchseParameterDropDown.Value,'DE'))
Y = Parameter1;
elseif (strcmp(app.YAchseParameterDropDown.Value,'DI'))
Y = Parameter2;
elseif (strcmp(app.YAchseParameterDropDown.Value,'DrE'))
Y = Parameter3;
else
Y = Parameter4;
end
if (strcmp(app.ZAchseParameterDropDown.Value,'DE'))
Z = Parameter1;
elseif (strcmp(app.ZAchseParameterDropDown.Value,'DI'))
Z = Parameter2;
elseif (strcmp(app.ZAchseParameterDropDown.Value,'DrE'))
Z = Parameter3;
else
Z = Parameter4;
end
contourf(app.UIAxes,X,Y,Z)
  1 commentaire
Voss
Voss le 22 Déc 2021
Can you attach the relevant Excel file (which is called 'GUI1.xlsx' in this code)?

Connectez-vous pour commenter.

Réponses (1)

Cris LaPierre
Cris LaPierre le 24 Déc 2021
Modifié(e) : Cris LaPierre le 24 Déc 2021
A contour plot is created from a matrix (Z data; see here). You must be giving it a vector, causing the error message you see.
You can learn more and see examples in the contourf documentation page.
% Works
x = -2:0.2:2;
y = -2:0.2:3;
[X,Y] = meshgrid(x,y);
Z = X.*exp(-X.^2-Y.^2);
contourf(X,Y,Z,'ShowText','on')
% recreates the error you are seeing
x = -2:0.2:2;
y = -2:0.2:3;
[X,Y] = meshgrid(x,y);
Z = X.*exp(-X.^2-Y.^2);
contourf(X,Y,Z(:),'ShowText','on')
Error using contourf (line 57)
Z must be at least a 2x2 matrix.
How you convert your column data to a matrix is going to depend on your data. It's very difficult to answer that question withough more information.
  2 commentaires
Darshil Pragneshbhai Trivedi
so i have a 4 colums and 51rows in a datasheet in excell. which 4 colums i have to compare with each other.
Cris LaPierre
Cris LaPierre le 12 Jan 2022
Modifié(e) : Cris LaPierre le 12 Jan 2022
I think you'd have to tell us that. I'm not sure how we would know.
Generally speaking, your X and Y values will be inputs (independent variables) and Z will be your output or response (dependent variable).

Connectez-vous pour commenter.

Catégories

En savoir plus sur Downloads dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by