我正在尝试使用 matlab 使用复合梯形规则计算函数的近似值,然后使用 surf 函数和 bar3 函数显示函数和近似值。问题是,当我尝试绘制函数 surf(x,y,Z) 时,我收到并错误提示尺寸不匹配。
我的问题是,当我的 x、y 和 z 数组的大小不同时,如何让 surf 函数绘制 3D 图。
我试图创建相同大小的 x 和 y 数组的零函数,然后将我的值添加到每个函数中,然后 NaN'ing 额外的 0,但是正如你看到的,我的每个数组都以 0 开头,因此 NaN'ing我在数组中找到零的地方会影响我的图表。而且我仍然得到相同的错误“尺寸不匹配”所以我认为那是因为我的 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);`
X
0 0.3000 0.6000 0.9000 1.2000 1.5000 1.8000 2.1000 2.4000 2.7000 3.0000
是的
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);