Clear Filters
Clear Filters

How to interpolate between multiple contour plots?

15 views (last 30 days)
l have 3 contour plots for 3 values of "f" like one below. Each is plotted with respect to data from "f"; data of the first plot is coming from an Excel file, and the other two comes from different Excel files. Assume the values of f are 1,2,3. I have data for these exact values (1,2,3), but not for the intermediate values. How do l interpolate it to have specific data for the value of f (i.e. f=2.6)?
Thanks in advance!

Accepted Answer

Cris LaPierre
Cris LaPierre on 12 Dec 2023
You could probably use interp3 if you concatenate all your 2D matrices together in the 3rd dimension.
See here.
f1 = [1 2 3 ; 4 5 6];
f2 = [10 20 30 ; 40 50 60];
f3 = [100 200 300 ; 400 500 600];
F = cat(3,f1,f2,f3);
x = 1:size(F,2);
y = 1:size(F,1);
f2_6 = interp3(F,x,y',2.6)
f2_6 = 2×3
64.0000 128.0000 192.0000 256.0000 320.0000 384.0000
piston_pim_offset on 13 Dec 2023
Edited: piston_pim_offset on 13 Dec 2023
I wish a can share it, but it is not possible. I made Zdata as 25x46x5, implemented interp3, and got desired results. Thanks for your valuable comments.
But now I am not able to plot this data as contours; trying contour3 but it gives error. Do you have any idea for plotting this type of data? (contour(f_1,f_2,f_3) did not work).
Cris LaPierre
Cris LaPierre on 13 Dec 2023
Edited: Cris LaPierre on 13 Dec 2023
Extract the 'sheet' you want and just plot that.
In my example, I would use contour(f2_6)

Sign in to comment.

More Answers (0)


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!