失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > matlab求解复杂隐函数 MATLAB复杂隐函数求解!求大神指导!

matlab求解复杂隐函数 MATLAB复杂隐函数求解!求大神指导!

时间:2021-01-10 01:49:51

相关推荐

matlab求解复杂隐函数 MATLAB复杂隐函数求解!求大神指导!

问题描述:

MATLAB复杂隐函数求解!求大神指导!

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个回答

分类:

数学

-12-16

问题解答:

我来补答

题目写的比较乱.明确几点: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)));

ac2=(G2^2)/((Km*0.01/2)^(2/(D2-1)));(因字数限制,此部分代码不变,删除)

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;

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时,无解(用ezplot(P-3E4,[0 1])容易看到,曲线始终位于实轴之下)。

再答: 参考代码: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求解复杂隐函数 MATLAB复杂隐函数求解!求大神指导!》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。