How to plot a 2d contour using 3d source of data (measured and recorded within a spreadsheet)

4 visualizzazioni (ultimi 30 giorni)
Hi there,
It would be my greatest pleasure if anyone could assist me with plotting a 2d contour from the attached data (derived from an experiment and stored within a Excel file). It would be so much appreciated if you could do me a favor and include all the MATLAB required scriptting. Thanks!

Risposta accettata

Mohammad Dabbagh
Mohammad Dabbagh il 22 Mar 2021
Thank you so much for your quick reply. I truly appreciate it.
I tried this code:
t = readtable('C:\Users\moham\Desktop\Sample.xlsx', 'VariableNamingRule', 'preserve');
N = 50;
x = t{:,1};
y = t{:,2};
irrad = t{:,3};
xvec = linspace(min(x), max(x), N);
yvec = linspace(min(y), max(y), N);
[Xg, Yg] = meshgrid(xvec, yvec);
F = scatteredInterpolant(x, y, irrad);
Ig = F(Xg, Yg);
contourf(Xg, Yg, Ig); colorbar
However, it shows me the following eror:
Error using readtable (line 216)
Invalid parameter name: VariableNamingRule.
  1 Commento
Walter Roberson
Walter Roberson il 22 Mar 2021
t = readtable('C:\Users\moham\Desktop\Sample.xlsx');
Warning: Column headers from the file were modified to make them valid MATLAB identifiers before creating variable names for the table. The original column headers are saved in the VariableDescriptions property.
Set 'VariableNamingRule' to 'preserve' to use the original column headers as table variable names.
N = 50;
x = t{:,1};
y = t{:,2};
irrad = t{:,3};
xvec = linspace(min(x), max(x), N);
yvec = linspace(min(y), max(y), N);
[Xg, Yg] = meshgrid(xvec, yvec);
F = scatteredInterpolant(x, y, irrad);
Ig = F(Xg, Yg);
contourf(Xg, Yg, Ig); colorbar

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 22 Mar 2021
Modificato: Walter Roberson il 22 Mar 2021
t = readtable('https://www.mathworks.com/matlabcentral/answers/uploaded_files/557822/Sample.xlsx', 'VariableNamingRule', 'preserve');
N = 50;
x = t{:,1};
y = t{:,2};
irrad = t{:,3};
xvec = linspace(min(x), max(x), N);
yvec = linspace(min(y), max(y), N);
[Xg, Yg] = meshgrid(xvec, yvec);
F = scatteredInterpolant(x, y, irrad);
Ig = F(Xg, Yg);
contourf(Xg, Yg, Ig); colorbar

Categorie

Scopri di più su Data Distribution Plots in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by