syms D1 D2 G1 G2 al E1 E2 Km w6
G1=10^(-5);G2=10^(-5); E1=2*(10^11);E2=2*(10^11);Km=1.2;w6=2*(10^9);for D1=1.3:0.1:1.8;
for D2=1.3:0.1:1.8;
ac1=(G1^2)/((Km*0.01/2)^(2/(D1-1)));
ac2=(G2^2)/((Km*0.01/2)^(2/(D2-1)));
w=2*(pi^(1/2))*E1*(G1^(D1-1))*D1*(al^(D1/2))/3;
r=(2/(3-2D1))*(al^((3-2D1)/2)-ac1^((3-2D1)/2))-((al^((2-D2)/2))*2/(5-2D1-D2)*(al^((5-2D1-D2)/2)-ac1^((5-2D1-D2)/2)));
t=Km*w6*D1*(al^(D1/2))/2;
u=(2/(2-D1)*(ac1^((2-D1)/2))-((al^((2-D2)/2)))*2/(4-D2-D1)*(ac1^((4-D2-D1)/2)));
P2=w*r+t*u;
w1=2*(pi^(1/2))*E2*(G2^(D2-1))*D1*(al^((D1+D2-2)/2))/3;
r1=2/(5-2D1-D2)*(al^((5-2D1-D2)/2)-ac2^((5-2D1-D2)/2));
t1=Km*w6*D1*(al^((D1+D2-2)/2))/2;
u1=2/(4-D2-D1)*(ac2^((4-D2-D1)/2));
P1=w1*r1+t1*u1;
P=P1+P2;P=3*10^4;
%想在已知P和D1,D2的情况下求解al,D1和D2是一组数据,最后画出三维图
题目写的比较乱。
明确几点:
1、是不是说对于D1=1.3:0.1:1.8,D2=1.3:0.1:1.8的每一种组合,按照P=P1+P2=3*10^4来求解a1?
2、对于这样的复杂方程,求解析解是不太现实的,应该求数值解。
3、方程可能存在多个解,怎么处理?例如,取D1=D2=1.5,画出P-3E4的曲线如下:
显然,在0-30范围内有两个解。
追问你好,谢谢你的回答。以上函数中的al在我的设定中是有一定物理意义的,应该是个小于1大于0的正数。是否能够给出:在已知P的值时,得出D1,D2,al的三维关系图。麻烦大神把程序传上来!我快被这事弄崩溃了!
追答参考代码:
syms D1 D2 G1 G2 al E1 E2 Km w6
G1=10^(-5);G2=10^(-5); E1=2*(10^11);E2=2*(10^11);Km=1.2;w6=2*(10^9);
[DD1,DD2] = meshgrid(1.3:0.1:1.8);
A1 = DD1*NaN;
for ii=1:size(DD1,1)
for jj=1:size(DD2,2)
D1 = DD1(ii,jj);
D2 = DD2(ii,jj);
ac1=(G1^2)/((Km*0.01/2)^(2/(D1-1)));
(此处有部分代码无改动,因字数限制省略)
u1=2/(4-D2-D1)*(ac2^((4-D2-D1)/2));
P1=w1*r1+t1*u1;
P=P1+P2;
try
A1(ii,jj)=fzero(@(a1)subs(P-3E4,a1),[eps 1]);
catch
fprintf('Error: D1=%g, D2=%g, %s\n',D1,D2,lasterr)
end
end
end
mesh(DD1,DD2,A1)
view(3)
注意,有些情况下(例如D1=1.3, D2=1.4)方程无解。
MATLAB复杂隐函数求解!求大神指导!
1、是不是说对于D1=1.3:0.1:1.8,D2=1.3:0.1:1.8的每一种组合,按照P=P1+P2=3*10^4来求解a1?2、对于这样的复杂方程,求解析解是不太现实的,应该求数值解。3、方程可能存在多个解,怎么处理?例如,取D1=D2=1.5,画出P-3E4的曲线如下:显然,在0-30范围内有两个解。
怎么用matlab求解复杂的隐函数
如何用matlab求解复杂的隐函数变量值,一般可以用solve函数来求解,也可以用其他函数求解(如fsolve,二分法等)。求解过程如下:syms x f=solve(1.2454*x==(1\/(3.4202*log10(0.2168*2.17*x^0.3967)+0.4129))^2.0697)验算:1.2454*f %左边 (1\/(3.4202*log10(0.2168*2.17*f^0.3...
含积分的复杂隐函数用matlab求解或作图
1、已知z=[。。。],x=[。。。];2、自定义函数,内容要包含y隐函数的数值积分方法和z的表达式;3、初定a、b、c的初值 4、nlinfit或lsqcurvefit等拟合函数,求出a、b、c的系数值 5、然后计算其拟合决定系数R²是否接近于1。如R²≈1,则计算结束。6、最后,用plot绘出,z-x的拟...
matlab 二元复杂 隐函数的求法
可以用solve函数求解:>> solve('(b^2 + (R^2-z^2) - (r-z)^2 + (a-x)^2)^2 - 4*b^2*(R*R-z*z)','z')但得到的四个根表达式都非常复杂,以至于在命令窗口中无法完整显示。如果已知参数给出具体值来,表达式可以加以简化(可考虑使用vpa函数)。另,对于使用Maple作为符号运算...
matlab 隐函数求解出来结果很诡异,想用 fminbnd 求解 最小值,错误,具 ...
1、最主要的问题在于,你的jie是sym对象,不能用于fminbnd这类数值方法的优化程序。可以改成 [fz,fval]=fminbnd(inline(char(jie(i)),z(i),z(i+1));2、由于你现在的条件中,Xt、Yt、S以及z的值都没给出,我随便指定的值,虽然可以运行,但算出来的结果没什么意义。希望对你有帮助,有问题...
使用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画复杂三维隐函数图象
先说第2个,匿名函数实际上是相当于定义了一个函数,不过是用的简洁方法而已 所以需要加“.”来运算,这个比较简单,是没什么问题的 第1个问题,有点复杂,楼上的我没细看,但好像不能运行,试试看:clear all;clc;f=@(x,y,z)exp(x+y+z)-(x+y+10*z);[x,y,z]=meshgrid(-4:0.2:...
如何使用MATLAB画隐函数的图像,比如z=(u^-1+v^-1)^-5,其中u=1-exp(x...
如何使用MATLAB画复杂隐函数的图像?分析题主给出的函数关系,首先我们应抓住 y=0.8×((v^2)\/3)+0.256×(v^3-v) 函数,是否能解出实数范围的 v 表达式,如有则求出,然后再将x、y代入u、v表达式中计算得到z。实现上述方法,我们可以这样做 第一步:使用vpasolve函数,解出 v 表达式。即 ...
matlab隐函数求解
用matlab求隐函数解,一般只能通过循环语句和vpasolve求出x与y的相应值,然后用plot绘出图形。代码:
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....