3D plot with different x-y resolution
7 次查看(过去 30 天)
显示 更早的评论
Can I do a 3D plot of a set of x-y-z with different resolution? For example:
- x1=[0, 0.5, 1.0]; y1=[2, 3, 6]; z1=[1];
- x2=[0, 0.3, 0.6, 1.0]; y2=[8, 2, 3, 6]; z2=[2];
- x3=[0, 0.2, 0.4, 0.6, 0.8, 1.0]; y3=[8, 9, 4, 2, 3, 6]; z3=[3];
Many thanks!
0 个评论
回答(1 个)
Star Strider
2018-7-4
Yes. However you cannot plot a scalar against vectors, so one way to do it would be:
x1=[0, 0.5, 1.0];
y1=[2, 3, 6];
z1=[1] * ones(size(x1));
figure
plot3(x1, y1, z1)
grid on
This creates a vector for ‘z1’, and plot3 will plot it.
Similarly, if you want to plot a mesh or surf plot, create ‘z1’ as a matrix:
x1=[0, 0.5, 1.0];
y1=[2, 3, 6];
z1=[1] * ones(size(x1,2));
figure
mesh(x1, y1, z1)
grid on
Experiment to get the result you want.
3 个评论
Star Strider
2018-7-4
My pleasure!
This works:
x1=[0, 0.5, 1.0]; y1=[2, 3, 6]; z1=[1];
x2=[0, 0.3, 0.6, 1.0]; y2=[8, 2, 3, 6]; z2=[2];
x3=[0, 0.2, 0.4, 0.6, 0.8, 1.0]; y3=[8, 9, 4, 2, 3, 6]; z3=[3];
figure
mesh(x1, y1, z1*ones(numel(x1)))
hold on
mesh(x2, y2, z2*ones(numel(x2)))
mesh(x3, y3, z3*ones(numel(x3)))
hold off
grid on
Walter Roberson
2018-7-4
mesh(x1, y1, z1*ones(length(y1), length(x1)))
You might need to reverse the order of the length calls.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!