Artikel: Mengatasi Error "Data Point Coordinates Have Inconsistent Dimension" dalam Matlab

Artikel: Mengatasi Error “Data Point Coordinates Have Inconsistent Dimension” dalam Matlab

Dalam berbagai situasi, kita dapat menghadapi error "Data point coordinates have inconsistent dimension" saat menggunakan fungsi scatteredInterpolant atau surf dalam Matlab. Error ini timbul karena input koordinat titik data memiliki dimensi yang tidak konsisten.

Contoh 1: Mengatasi Error pada Fungsi scatteredInterpolant

Misalnya, kita memiliki serangkaian koordinat dan dataset masing-masing titik. Ukuran variabel LON, LAT, dan data adalah sebagai berikut:

size(LON) = 720 1
size(LAT) = 1440 1
size(data) = 720 1440

Kita mencoba membuat interpolan dengan menggunakan fungsi scatteredInterpolant seperti berikut:

data_F = scatteredInterpolant(LON, LAT, data)

Namun, kita mendapatkan error sebagai berikut:

Error using scatteredInterpolant
Data point coordinates have inconsistent dimension.

Saya mencoba menggunakan input lain seperti scatteredInterpolant(LAT, LON, data) untuk melihat apakah ada perbedaan, namun hasilnya sama.

Contoh 2: Mengatasi Error pada Fungsi surf

Dalam contoh lain, kita memiliki koordinat dan nilai Z sebagai berikut:

x = [30 34 38 40 44 48 50]
y = [0:5:20]
Z = [9.1 8.5 7.83 7.54 7.07 6.61 6.49 ; 
 14.5 8.96 8.21 7.71 7.07 6.61 6.4;
 13.37 13.4 10.2 9.4 9 7.3 7.9;
 12.09 12 12.14 11.96 13.58 14.12 14.311;
 14.97 10.77 11.87 12.4 13.62 14.19 14.94]

Kita mencoba membuat plot dengan menggunakan fungsi surf seperti berikut:

figure(1)
surf(x,y,Z)

Namun, kita mendapatkan error sebagai berikut:

Data point coordinates have inconsistent dimension.

Penyelesaian:

Untuk mengatasi error ini, kita perlu memastikan bahwa input koordinat titik data memiliki dimensi yang konsisten. Dalam contoh 1, kita dapat membuat interpolan dengan menggunakan fungsi scatteredInterpolant seperti berikut:

x = [0:5:20];
y = [30 34 38 40 44 48 50];
Z = reshape(Z,numel(y),numel(x));
mesh(x,y,Z);

Dalam contoh 2, kita dapat membuat plot dengan menggunakan fungsi surf seperti berikut:

x = [0:5:20];
y = [30 34 38 40 44 48 50];
Z = reshape(Z,numel(y),numel(x));
figure(1)
surf(x,y,Z);

Dengan demikian, kita dapat mengatasi error "Data point coordinates have inconsistent dimension" dan membuat plot yang lebih akurat.