数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 3062|回复: 9

[求助]请教一个隐函数绘图问题

[复制链接]
发表于 2004-10-7 19:00:11 | 显示全部楼层 |阅读模式
<>隐函数表达式如下:(103.82-(6.989*(10^(-10))*y-4.14*(10^(-4))*x*Sqrt[y])/(2.76*(10^(-13))*y+0.94*x*Sqrt[y]))*y*(10^(-6))=53.58+(4.29*(10^7)*x)/Sqrt[y]</P>
<>式中Sqrt表示的是开平方(公式无法插入,只能这样表达了),以x为横坐标,y为纵坐标,x的范围为[6.67*10^(-5),6.67*10^(-4)],绘出相应的函数曲线。</P>
<>请教各位高手该如何画出,谢谢!</P>
发表于 2004-10-7 22:29:26 | 显示全部楼层
<>maths公司在matlab中好像没有直接的命令,不过网上有工具包</P><>据说在Mathematica和maple中有相应命令,因为现在不在学校里,回去后帮你查查</P>
发表于 2004-10-7 23:38:40 | 显示全部楼层
再回Implicit function在matlab中为implot
 楼主| 发表于 2004-10-8 17:45:38 | 显示全部楼层
<>163er:谢谢。Mathematica中隐函数绘图的命令是ImplicitPlot,但我试过几台机器,都画不出来,不知是什么原因。我想该函数也不是太复杂吧。matlab我用的不是很熟,如果方便的话,还麻烦您帮我做一下。急用。多谢![em23]</P>
发表于 2004-10-11 07:25:27 | 显示全部楼层
<>几天上不来,还以为账号被封了,Mathematica不是很熟悉,所以不能提供什么建议</P><>关于matlab中Implicit functi的直接命令,应该是其他人编的,具体从哪里下忘了具体网址</P><>我把文件输入,你另存为implot.m</P><P>function implot(fun,rangexy,ngrid)
% Implicit plot function
% function implot(fun,rangexy,ngrid)
% fun is 'inline' function f(x,y)=0 (Note function written as equal to zero)
% rangexy =[xmin,xmax,ymin,ymax] range over which x and y is ploted default(-2*pi,2*pi)
% ngrid is the number of grid points used to calculate the plot,
% Start with course grid (ngrid =20) and then use finer grid if necessary
% default ngrid=50
%
% Example
% Plot y^3+exp(y)-tanh(x)=0
%
% write function f as an 'inline' function of x and y-- right hand side
% equal to zero
%
% f=inline('y^3+exp(y)-tanh(x)','x','y')
% implot(f,[-3 3 -2 1])</P><P>
%       A.Jutan UWO 2-2-98  <a href="mailtajutan@julian.uwo.ca" target="_blank" >ajutan@julian.uwo.ca</A></P><P>if nargin == 1  ;% grid value and ranges not specified calculate default
        rangexy=[-2*pi,2*pi,-2*pi,2*pi];
   ngrid=50;
end</P><P>
if nargin == 2;  % grid value not specified
   ngrid=50;
end</P><P>
% get 2-D grid for x and y</P><P>
xm=linspace(rangexy(1),rangexy(2),ngrid);
ym=linspace(rangexy(3),rangexy(4),ngrid);
[x,y]=meshgrid(xm,ym);
fvector=vectorize(fun);% vectorize the inline function to handle vectors of x y
fvalues=feval(fvector,x,y); %calculate with feval-this works if fvector is an m file too
%fvalues=fvector(x,y); % can also calculate directly from the vectorized inline function
contour(x,y,fvalues,[0,0],'b-');% plot single contour at f(x,y)=0, blue lines
xlabel('x');ylabel('y');
grid
</P>
发表于 2004-10-11 07:29:31 | 显示全部楼层
<>上面为第三方编的支持文件</P><>这里为例子</P><>% Example
% Plot y^3+exp(y)-tanh(x)=0
%
% write function f as an 'inline' function of x and y-- right hand side
% equal to zero
%
% f=inline('y^3+exp(y)-tanh(x)','x','y')
% implot(f,[-3 3 -2 1])</P><P>你要注意将等式右边化为0,且sqrt不能大写</P>
发表于 2004-10-11 15:55:32 | 显示全部楼层
<>从图形上看,x大于0,无图像</P>
发表于 2004-10-17 02:43:00 | 显示全部楼层
<>用MAPLE比较简单,只一个指令而已</P><>with(plots):</P><>implicitplot((103.82-(6.989*10^(-10)*y-4.14*10^(-4)*x*sqrt(y))/(2.67*10(-13)*y+0.94*x*sqrt(y))*y*10(-6)=53.58+(4.29*10(-7)*x)/sqrt(y),x=-6.67*10^(-5)..6.67*10^(-4),y=0..1));</P><P>不过,好像这个函数的图像显示不出来的!!</P>
发表于 2004-11-13 20:42:38 | 显示全部楼层
<>怎么好象是一条直线啊</P><>是负的啊</P><>是不是我搞错了啊</P>
发表于 2004-11-17 01:26:56 | 显示全部楼层
<>我觉得用这个命令比较好用些 就用MATLAB里面的ezplot 就可以了!</P><>ezplot('(103.82-(6.989*(10^(-10))*y-4.14*(10^(-4))*x*sqrt(y))/(2.76*(10^(-13))*y+0.94*x*sqrt(y)))*y*(10^(-6))=53.58+(4.29*(10^7)*x)/sqrt(y)',[6.67*10^(-5),6.67*10^(-4),-10^(-5),10^(-5)])</P><>你自己可以尝试一下!</P>
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 23:46 , Processed in 0.057515 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表