Hello,
I am a new user to Matlab and I am trying to create a surface plot for data analysis, so it would be great if you can assist a fellow newbie.
Attached you will find a sample xls file .
When I am running the below script I am getting an error with the message "Data dimensions must agree."
Did I miss something? Thanks in advance and any help will be much appreciated.
filename = PlotData.xlsx';
num = xlsread(filename) ;
x = num(2:end,1) ;
y = num(1,2:end) ;
Z = num(2:end,2:end) ;
surf(x,y,Z)

1 件のコメント

Andreas Kerasiotis
Andreas Kerasiotis 2021 年 5 月 20 日
Thanks for your swift reply Mathieu, it worked like a charm.
Cheers.

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

 採用された回答

Mathieu NOE
Mathieu NOE 2021 年 5 月 19 日

1 投票

hello Andreas
simply , you inverted x and y vectors
this is correct :
filename = 'PlotData.xlsx';
num = xlsread(filename) ;
x = num(1,2:end) ;
y = num(2:end,1) ;
Z = num(2:end,2:end) ;
surf(x,y,Z)

その他の回答 (1 件)

KSSV
KSSV 2021 年 5 月 19 日

1 投票

x = A(1,2:end) ;
y = A(2:end,1) ;
Z = A(2:end,2:end) ;
surf(x,y,Z) ;

2 件のコメント

KSSV
KSSV 2021 年 5 月 19 日
surf(x,y,Z')
or
surf(y,x,Z)
The above also will work along with the answer given.
Andreas Kerasiotis
Andreas Kerasiotis 2021 年 5 月 20 日
Thanks for your swift reply KSSV, both your answer and Mathieu's worked.
Cheers.

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

カテゴリ

ヘルプ センター および File Exchange2-D and 3-D Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by