matlab隐函数求数值解
你的公式中 cp的取值范围是cv到cs之间
用fzero在这个区间之内找结果就好了
u=2.65e+10;c1b=5.057e+10;cv=2596.15;cs=3128.89;us01=10;us12=20;h=1e-9;b=(0:20)';A=cell(21,2);f=@(b,cp) tan(b*sqrt((cp/cv)^2-1))-(c1b*sqrt((cp/cv)^2-1)*(u*sqrt(1-(cp/cs)^2)+(b/h)*us12-(b/h)*us01))/((u*(b/h)*sqrt(1-(cp/cs)^2)+((b/h)^2)*us01)*us01+c1b^2*((cp/cv)^2-1));for n=1:length(b) A{n,1}=b(n); for p0=cv+0.01:cs-0.01 [s v flag]=fzero(@(cp) f(b(n),cp),p0); if flag==1 if isempty(A{n}) A{n,2}=s; elseif all(abs(A{n,2}-s)>1e-3) A{n,2}=[A{n,2},s]; end end end end
由于每个b的取值得到cp的解的个数不同,所以这里用cell矩阵来储存结果
最后结果再A中
A的第一列是b的取值
第二列是cp的可能取值,如果结果是[],也就是无解
结果如下,第一列是b的取值,第二列是对应的cp的可能取值
%一般你这种关系式解析解是没有的,只能求取数值解
%我随意设的参数,可以画出关系图,你改一下试试
u=0.2;
k0=1;
T=10;
i=1:1000;
Ef=-200:400;%修改这里改变范围
N0=zeros(size(Ef));
for k=1:length(Ef)
N0(k)=sum(1./(1+exp((i*u-Ef(k))/(k0*T))));
end
plot(Ef,N0,'.')
matlab隐函数求数值解的方法,就是用循环for语句和vpasolve()配合使用,求出与t值对应的id值。运行结果及代码。
如何利用matlab求解隐函数
3、对隐函数求导,下面就用matlab求一下隐函数cos(x+siny)=siny的导数。具体的代码及计算结果如下图所示:用新的变量名dydx替代dgdx中的diff(y(x), x),具体的代码及计算结果如下图所示:4、对变量dgdx1代表的符号方程关于dydx的求解,使得dy\/dx通过x,y表达出来。具体的代码及计算结果如下图所示...
如何用matlab对隐函数求导
求n阶导数(n是具体整数);diff(函数,变量名)求偏导数;diff(函数,变量名,n)求n阶偏导数;下面通过示例来说明diff函数对隐函数求导的方法。题目:隐函数y^3 - x^3 - 1 = 0的导数。syms x y % 定义变量 f = y^3 - x^3 - 1 % 隐函数 f = y^3 - x^3 - 1 = 0 dy1...
使用matlab进行隐函数求解
题主给出的隐函数求解问题,一般可以用solve函数,得到y(x)或x(y)形式的解,实现思路:clc,close all a=1;b=1;syms x y x=solve(y==1\/a*(10*b*x)^0.6*(a+2*y)^0.4,x)绘图 y=0:20:1180;x =eval(x);plot(x,y,'k-')xlabel('x');ylabel(&...
matlab 隐函数求解以及绘图
用matlab求解 隐函数以及其绘图。可以这样处理。1、用fsolve函数求解,当x为某值时,对应的y值。2、用if条件语句判断,计算得到的y值是否在0<y<1之间。3、如是,用plot函数绘制x—y的曲线图4、如不是,则将不符合0<y<1范围之内的y值剔除,用plot函数绘制x—y的曲线图5、将y值代入 z=2*y+...
怎么用matlab绘制隐函数
1、ezplot(fun)在默认域-2π<x <2π上绘制fun(x)表达式,其中fun(x)是只有x的显式函数。例如:h = ezplot('sin(x)')set(h, 'Color', 'm'); % Make the line magenta,程序编译结果如右图所示;2、ezcontour(fun)使用轮廓函数绘制fun(x,y)的轮廓线。 函数被绘制在默认域...
matlab如何求解隐函数最值
题主给出的 xy+xyz+yz=0 隐函数中z的最值问题,可以通过fmincon函数求得。求解方法如下:1、将 xy+xyz+yz=0 函数,用极值形式表示。即 min f(x,y,z)=xy+xyz+yz 2、自定义极值目标函数,其内容 maxZ=(x*y+x*y*z+y*z);3、自定义极值约束条件函数,其内容 不等式约束 g(1)=x-1...
Matlab求解隐函数方程组
如何用Matlab求解隐函数方程组?一般来说,对于非线性方程组是可以用fsolve求解。求解过程:1、确定初值,一般可以先用ezplot函数作图,并判断x1,x2的附近值作为x0的初值 2、自定义函数,即 func=@(x)[x(1)*exp(-12\/x(1))\/(x(1)-x(2))-x(2)*exp(-12\/x(2))\/(x(1)-x(2))-0....
Matlab用fsolve求解隐函数的问题
Matlab用fsolve求解隐函数的问题 10 直接用fsolve求解的话,我现在写了个函数,但是老是出现:Equationsolved.fsolvecompletedbecausethevectoroffunctionvaluesisnearzeroasmeasuredbythedefaultvalueofthefunctiontole... 直接用fsolve求解的话,我现在写了个函数,但是老是出现:Equation solved.fsolve completed because the ...
matlab隐函数求解
用matlab求隐函数解,一般只能通过循环语句和vpasolve求出x与y的相应值,然后用plot绘出图形。代码:
matlab隐函数求数值解
matlab隐函数求数值解的方法,就是用循环for语句和vpasolve()配合使用,求出与t值对应的id值。运行结果及代码。
招娣银杏: 可以解,在Matlab7.0下通过. >>solve('a=b*(2*((1/C-1)/(1/D-1))^(n)-((1/C-1)/(1/D-1))^(2*n))','C') ans =-D/(-(1/2/b*(2*b+2*(b^2-b*a)^(1/2)))^(1/n)+(1/2/b*(2*b+2*(b^2-b*a)^(1/2)))^(1/n)*D-D)-D/(-(1/2/b*(2*b-2*(b^2-b*a)^(1/2)))^(1/n)+(1/2/b*(2*b-2*(b^2-b*a)^(1/2)))^(1/n)*D-D) 你的版本是多少?
阜新市19387401087: MATLAB如何求出隐函数中变量的具体值?
招娣银杏: (1)符号计算:y=5;double(solve(sprintf('x*exp(x)-%f',y),'x'))上面这个可以方便循环:比如:yy=0:1:10;xx=[];for y=yy xx=[xx,double(solve(sprintf('x*exp(x)-%f',y),'x'))];endplot(xx,yy,'-*')(2)数值解.一般用Newton法
阜新市19387401087: 关于用MATLAB求解隐函数的问题?
招娣银杏: 你是要求解析解还是数值解,如果你的Matlab装了Symbolic Toolbox的话,Matlab可以直接求解析解,如下:solve('(a+b*cos(c)-d*cos(e))/cos(x)=(f+b*sin(c)-d*sin(e))/sin(x)', 'x')ans =-(log((a*exp(c*i)*exp(e*i) + b*exp(2*c*i)*exp(e*i) - d*exp(c*i)*exp(2...
阜新市19387401087: matlab隐函数求解 - ?
招娣银杏: zp没有符号解,就是找不到一个合适的符号函数来表达zp和ws10的关系 可以求数字解
阜新市19387401087: 想用MATLAB求解一个隐函数的解析解 - ?
招娣银杏: syms pd n=[...]; m=[...]; a=[...]; b=[...]; w=[...]; l =[...];s=[...];%代入各参数 eq=(2*(n-m)*(a+b*w)+((w-pd-s)*(n-m)/(l-pd-s))*(2*n-(w-pd-s)*(n-m)/(l-pd-s)+m)-m^2)/(4*b*(n-m))-pd; pd=solve(eq,pd)
阜新市19387401087: MATLAB 隐函数求解函数值?
招娣银杏: 你想 做啥?上面的 不就是隐函数吗?为啥 突然 来个 微分方程?上面 的隐函数 ,你知道A、B、C,当然可以作出图像!直接用ezplot命令!
阜新市19387401087: MATLAB 隐函数求解———— - ?
招娣银杏: 可以这样做 首先创建 function F = myfun(y) F=[-20*y(1)^2+exp(-20+y(1))+2;0.2*y(2)^2+exp(0.2+y(2))+2] %这里直接把x带进去了 的m文件 在指令窗里输入 y0 =[ 2;2] ; y = fsolve(@myfun,y0) y = 0.3162 -1.0590
阜新市19387401087: 请问在matlab中,隐函数求值,例如 - ?
招娣银杏: syms x y z=exp(2*x+y)+cos(3*x*y)-exp(1)-1; zz=subs(z,x,1) solve(zz)不过好像很慢
阜新市19387401087: matlab隐函数求解问题 - ?
招娣银杏: 用符号代数的时候.就是c的关系式里面不能用到点乘.而且命令是solve 不是slove你弄错了.
阜新市19387401087: matlab 求解隐函数 - ?
招娣银杏: 是要求画出x=1~5区间的函数图像吗?ezplot('x*y+exp(x+y+3)-log(x/y)',[1 5 -5 -3]) 由于y的取值范围问题,直接用 ezplot(...,[1 5]) 可能画不出函数图像来,此种情况下建议先把区间设置大一些,先概略看一下函数图像的大致情况,再选择适当的区间进行绘图.