作业帮 > 综合 > 作业

matlab中solve语句

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 16:11:55
matlab中solve语句
y=input('please input relativeroughness:');
z=input('please input Re:');
[x]=solve('1/sqrt(x)=1.74-2*log10(2*y+18.7/(z*sqrt(x)))','x');
x=subs(x);
fprintf('沿程损失系数是%15.14f\n',x)
当y=0.01,z=8e7结果x=0
但是把数直接输入方程后的出了结果约为0.038
求教是为什么
% 按理,你直接使用solve求解你给定的那个语句时,y,z作为符号变量,应该是很难得到解的
% 试了下,找不到解析解
% 当把y,z的值先代入时,可以得到你所说的解
% 代码贴如下
y=input('please input relativeroughness:');
z=input('please input Re:');
syms x;
exp = 1.74-2*log10(2*y+18.7/(z*sqrt(x))) - 1/sqrt(x);
x=solve(exp, 'x');
x=vpa(x);
再问: 谢谢,但还是想问下,这是因为subs语句的问题吗?原先我用0.01和1e5的数据也能得出结果,是不是subs不能识别大的数据?