我想在Maple中以点的形式创建一个正弦图的顶视图,这样最大高度显示为最接近的点,然后min显示最远的点。它可以是线而不是点。
Maple有可能吗?如果有人只知道如何在MATLAB中完成它,我也可以使用MATLAB。
我试过了:
plot3d(sin(x),linestyle=dot);
这就是我得到的(我已经移动它以便它是顶视图):
但我想要这样的事情:
或者这个(与最大/分钟对齐的点下方的正弦图):
答案 0 :(得分:1)
如果以下内容接近您的要求,那么您可以摆弄分发。 (例如,在低端获得更多的传播)
我不确定你是否尝试过3D视图的顶视图,因为这是你想要的,或者因为它是获得2D绘图之类的东西的一种方式。所以我会做两件事。
根据你的图像,它看起来像你不想要一个y值等距的序列。如果情况不是这样,请告诉我们。
restart:
Mx:=Statistics:-RandomVariable(PDF=(x->(sin(x)^1+1.25)/2.25)):
My:=Statistics:-RandomVariable(Uniform(0,1)):
G2D:=proc(r::range(realcons), N::posint)
local v,w;
v:=Vector[column](Statistics:-Sample(Mx,N,
method=[envelope,updates=300,range=r]));
w:=Vector[column](Statistics:-Sample(My,N));
<v|w>;
end proc:
G3D:=proc(r::range(realcons), N::posint)
local v,w;
v:=Vector[column](Statistics:-Sample(Mx,N,
method=[envelope,updates=300,range=r]));
w:=Vector[column](Statistics:-Sample(My,N));
<v|w|map(sin,v)>;
end proc:
a,b := -5*Pi, 5*Pi:
plots:-display(
seq(plot(G2D(a..b, 150),style=point,
symbolsize=7,symbol=solidcircle),
i=0..1, 0.05),
view=[a..b, default],
tickmarks=[piticks,decimalticks]
);
# top view of 3D plot
plots:-pointplot3d(G3D(a..b, 3000),
color=black, symbolsize=7,
orientation=[-90,0,0],
view=[a..b, default, default],
tickmarks=[piticks,default,default]);
您还可以调整或删除刻度线,y范围,颜色等。
[更新]我不确定后续请求是针对堆叠的2D或3D绘图。这是2D中的东西。
restart:
Mx:=Statistics:-RandomVariable(PDF=(x->(sin(x)^1+1.25)/2.25)):
My:=Statistics:-RandomVariable(Uniform(0,4)):
G2D:=proc(r::range(realcons), N::posint)
local v,w;
v:=Vector[column](Statistics:-Sample(Mx,N,
method=[envelope,updates=300,range=r]));
w:=Vector[column](Statistics:-Sample(My,N));
<v|map(`+`,w,1)>;
end proc:
a,b := -5*Pi, 5*Pi:
plots:-display(
seq(plot(G2D(a..b, 150),style=point,
symbolsize=7,symbol=solidcircle),
i=0..1, 0.05),
plot(sin(x),x=a..b),
view=[a..b, default],
tickmarks=[piticks,[-1,1]]
);
答案 1 :(得分:1)
以防万一你也想要一个MATLAB解决方案:
x = 0:2*pi/250:8*pi; % change '250' to change density
y = sin(x);
Y = arrayfun(@(ii) rand(1,round((y(ii)+1.2)*10)), (1:length(y)), 'UniformOutput', false); % floor and ceil also possible (changes density)
X = arrayfun(@(ii) x(ii)*ones(1,length(Y{ii})), (1:length(x)), 'UniformOutput', false);
figure;
hold on;
p=cellfun(@scatter,X,Y);
xlim([0 8*pi])
set(gca, 'Visible','off') % delete axis
for ii=1:length(p)
set(p(ii),'Marker', '.', 'MarkerFaceColor', 'k', 'MarkerEdgeColor', 'k'); % make black dots
end
结果:
更新:
已经为构造点创建了正弦波,因此只需要很小的调整就可以将正弦添加到图中:
x = 0:2*pi/250:8*pi; % change '250' to change density
y = sin(x);
Y = arrayfun(@(ii) 2*rand(1,round((y(ii)+1.2)*10))+1.1, (1:length(y)), 'UniformOutput', false); % floor and ceil also possible (changes density)
X = arrayfun(@(ii) x(ii)*ones(1,length(Y{ii})), (1:length(x)), 'UniformOutput', false);
figure;
hold on;
p=cellfun(@scatter,X,Y);
hold on
plot(x,y)
xlim([0 8*pi])
set(gca, 'Visible','off') % delete axis
for ii=1:length(p)
set(p(ii),'Marker', '.', 'MarkerFaceColor', 'k', 'MarkerEdgeColor', 'k'); % make black dots
end
给出了