作业帮 > 综合 > 作业

求高手 matlab循环求数值解

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/08/07 10:40:30
求高手 matlab循环求数值解
A1是关于a b c和h的表达式 为了推导A1公式 我定义abc为syms
表达式很长...截取了一部分
A1 = (9*exp(-a/4100)*exp(a/8200)*exp((8751*b)/(250*(b+ 24097/100)))*exp((8751*B)/(500*(b + 24097/100)))*(c -1)^3*((19001662971515584*c*(b + 120))/(4330206285915525*((20*b)/5823)^(3/2)))^(1/2)*(-(541275785739440625*exp(-(8751*b)/(500*(b+ 24097/100)))*((20*b)/5823)^(3/2))/(44027189957173968896*(c - 1)*(B +120)))^(1/3))
B1是h的表达式
B1 = 9.2e-4*(0.01*h)^(27/10)
abc 三个值一直在变,需要每次循环带入
求解A1=B1
循环每次带入abc用fsolve求数值解该如何求
solve得不到解析解 Warning: Explicit solution could not be found.
求高手 matlab循环求数值解
B1的值是一直不变吗?最终是要求解出变量B?参考如下程序:f = @(a,b,c,B)A1-B1   % 这里把A1,B1具体表达式代入,B1中的e和h用实际数值

a = 1, b = 2, c = 3;
fsolve(@(B)f(a,b,c,B), 0)    % 这就可以求解出abc分别为1,2,3时的解
再问: 不好意思没表达清楚
B1是一直不变
求解h
f = @(a,b,c,B)A1-B1 % 这个懂了

我推倒公式的时候abc定义为syms不可以下面的赋值
a = 1, b = 2, c = 3;
再答: 不要定义成syms。你甚至可以不用a,bc:fsolve(@(B)f(1,2,3,B), 0)  

j = 1, k = 2, l = 3;
fsolve(@(B)f(j,k,l,B), 0)