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

4 ビュー (過去 30 日間)
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!

採用された回答

Mohammad Dabbagh
Mohammad Dabbagh 2021 年 3 月 22 日
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 件のコメント
Walter Roberson
Walter Roberson 2021 年 3 月 22 日
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

サインインしてコメントする。

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2021 年 3 月 22 日
編集済み: Walter Roberson 2021 年 3 月 22 日
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

カテゴリ

Help Center および File ExchangeData Distribution Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by