如何通过求解公式获得价值

时间:2014-07-09 14:28:55

标签: matlab equation-solving

如何从解决

中获取xy的值
100.*x.*3.2.*1e5-((exp(y.*x)-1).^1.5./(y.*x.*exp(y.*x)).^0.5) = 0

我知道如何通过以下方式绘制它:

ezplot('100.*x.*3.2.*1e5-((exp(y.*x)-1).^1.5./(y.*x.*exp(y.*x)).^0.5)', [xmin xmax ymin ymax])

3 个答案:

答案 0 :(得分:3)

首先你有1个方程和2个未知数,所以你的问题没有明确规定,也没有独特的解决方案。

其次,您可以使用一些基本代数在x中找到y

log(y./20)*(1+2.98e10*y) + x./10e-12 = 0  %// btw I imagine you actually want .* here but I'm sticking with your equation

log(y./20)*(1+2.98e10*y) = - x./10e-12

x = -10e-12(log(y./20)*(1+2.98e10*y))

所以现在如果你想要一些数值,可以试试:

y = -10:0.1:10;
x = -10e-12(log(y./20)*(1+2.98e10*y))

plot(x,y)应该为您验证

答案 1 :(得分:1)

如果您想获得绘图生成的信息,最简单的解决方案是分配绘图。

以下是the documentation中的描述:

h = ezplot(...)

然后您可以使用以下方式获取信息:

d=get(h)

从这里它应该是这样的:

d.XData
d.YData

答案 2 :(得分:0)

h=ezplot('100.*x.*3.2.*1e5-((exp(y.*x)-1).^1.5./(y.*x.*exp(y.*x)).^0.5)', [xmin xmax ymin ymax])
XData = get(h, 'contourMatrix');
x=XData(1,:)'
y=XData(2,:)'