Clear Filters
Clear Filters

Contourf Z must be at least a 2x2 matrix error

3 views (last 30 days)
Hi all,while creating contourf plot I have Z must be at least a 2x2 matrix.I couldn't fix it. If you've any idea to fix it I'd be appreciate.Thanks in advance.
  1 Comment
KSSV
KSSV on 23 Aug 2021
Unrecognized function or variable 'SPODpost'.
Error in Rainbow_POD (line 26)
mode = SPODpost(a(:,1:idx));

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 23 Aug 2021
mode = SPODpost(a(:,1:idx));
That function was not included
contourf(X,Y,Vi(:,:,mode(idx).ind(2)),10,'edgecolor','none')
For that to be valid, Vi(:,:,mode(idx).ind(2)) must be a 2D array. But...
>> whos -file POD.mat
Name Size Bytes Class Attributes
U 1x101 808 double
V 1x101 808 double
X 1x101 808 double
Y 1x101 808 double
and
% Ui,Vi,Wi,... :POD modes (spatial modes). Number of output modes depends
% on the number input velocity components. The dimension of
% the output data is the same as the input data, whereas the
% last dimension contains individual modes instead of
% snapshots.
The input V is a vector, and with the output Vi being the same size as the inputs, that means that Vi must be a vector.
Your plotting code with contourf() assumes that Vi is 3 dimensional, but it is only a vector.
You will not be able to do contouring in this situation.

More Answers (0)

Categories

Find more on Contour Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!