複合台形規則を使用して関数の近似を計算し、surf 関数と bar3 関数を使用して関数と近似を表示するために matlab を使用しようとしています。問題は、関数 surf(x,y,Z) をプロットしようとすると、次元が一致しないというエラーが表示されることです。
私の質問は、x、y、および z 配列のサイズが異なる場合に、3D グラフをプロットするために surf 関数を取得する方法です。
同じサイズの x 配列と y 配列のゼロ関数を作成し、それぞれに値を追加してから、余分な 0 を NaN しようとしましたが、各配列が 0 で始まるのを見ると、NaN になります。配列内のゼロを見つけると、グラフ プロットに影響します。さらに、同じエラー「寸法の不一致」が引き続き発生するため、Z配列がxおよびyよりも大きいためだと思いました。
どんな助けでも大歓迎です。
私の x と y のコードは次のとおりです。
x = linspace(a,b,h); %h being 11 and breaks up the difference because datapoints a and b into h number of sub intervals
y = linspace(c,d,k); %k being 6 and breaks up the difference because data points c and d into k number of sub intervals
Z = zeros(h,k);
for i = 1:1:h
for j = 1:1:k
Z(i,j) = f(x(i),y(j));
end
end
サーフ (x、y、Z); `
バツ
0 0.3000 0.6000 0.9000 1.2000 1.5000 1.8000 2.1000 2.4000 2.7000 3.0000
y
0 0.6286 1.2571 1.8857 2.5143 3.1429
Z
0 0 0 0 0 0
0 0.1764 0.2854 0.2852 0.1761 -0.0004
0 0.3528 0.5707 0.5705 0.3522 -0.0008
0 0.5292 0.8561 0.8557 0.5283 -0.0011
0 0.7056 1.1415 1.1410 0.7044 -0.0015
0 0.8820 1.4268 1.4262 0.8804 -0.0019
0 1.0584 1.7122 1.7115 1.0565 -0.0023
0 1.2348 1.9975 1.9967 1.2326 -0.0027
0 1.4112 2.2829 2.2820 1.4087 -0.0030
0 1.5876 2.5683 2.5672 1.5848 -0.0034
0 1.7640 2.8536 2.8525 1.7609 -0.0038
surf の使用エラー (75 行目) データの次元が一致している必要があります。
CompositeTrapazoidal>btnSolve_Callback のエラー (167 行目) surf(x,y,Z);