Plot by equation.
14 次查看(过去 30 天)
显示 更早的评论
I have an equation for ploting;
x=1 to 10 nanometers ;
y=0.5 to 2 nanometers;
and k=1 to 10;(not nanometers it is a multiplication)
the equation is:
f=8.854187817.*(x.*x.*k.^2)/(y.*y);
and i need a plot for all k values from 1 to 10;
plot(f,k); ant this didn t work;
0 个评论
采纳的回答
Walter Roberson
2017-1-9
编辑:Walter Roberson
2017-1-9
x = linspace(1,10,15);
y = linspace(0.5,2,15);
k = linspace(1,10,15);
[X,Y,K] = meshgrid(x, y, k);
f = 8.854187817.*(X.*X.*K.^2)./(Y.*Y);
However, this is essentially 4D -- three input coordinates and one result. Even if you divide it up by k value, the result would be 3D for each k value, which would make it a bit difficult to plot everything at the same time. What kind of plots were you hoping for?
pointsize = 36;
scatter3(X(:),Y(:),K(:),pointsize,f(:))
or
slice(X,Y,K,f,[],[],k)
3 个评论
Walter Roberson
2017-1-10
You can position on the three spatial dimensions, but for each combination of spatial dimensions you have a result that has to be plotted somehow. You cannot plot that as a 4th spatial dimension the way you can plot the height of a surface defined with two free parameters. You have to find another way to plot the 4th piece of information (the value of f). One way to do that is color; another way is to plot through time.
Mathematically, 3 input values plus one result is referred to as 4D, because you can itemize each output as a 4-tuple,
(x, y, k, f)
and mathematically "functions" are fundamentally tuples (formula are short-hand for listing all of the tuples.)
Stephen23
2017-1-15
but how i make k natural with values between 1 to 10?
更多回答(1 个)
另请参阅
类别
在 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!