对分法的实施
3视图(30天)
显示旧的评论
大家好!
我想使用
对分法
发现V值,这将使我的设置函数等于零(V_ls)。
func = @ (V) -Pstar + (R * T * (((1 - c) / V) - ((c / b) *日志(1 b / V)))——* c / V ^ 2)
请注意,
a, b, c, R
保留总是相同的值,使我的方程组的区别是Pstar的价值观,T,将确定V值,我正在找。
我成功地管理这个过程对于一个给定的函数,通过设置Pstar和T的值。
我想能够自动重复这个过程不同的Pstar和T值存储在一个向量。
Pstar = Pstars(我)
T = temp(我)
%我有30的价值观(的问题)在每个向量,即i = 30
%范围值,可以找到解决方案。
V = 0.0320;
lim_max = 0.1951;
%对分法
number_iterations = 100%我可以任意设置这个值
为我= 1:number_iterations
Vls = (V + lim_max) / 2;
如果有趣(Vls) < 0
lim_max = Vls;
其他的
V = Vls;
结束
结束
我想我应该把这个轮轴成一个新的,但是我真的不能设法得到我想要的结果:
一个输出向量V_ls包含每个解决方案的对分法为每个30方程。
很多谢谢!
接受的答案
Torsten
2022年11月5日
编辑:Torsten
2022年11月5日
%固定输入
c = 25.8972;
b = 0.0320;
一个= 0.7535;
R = 0.0821;
Vc = 0.1951;
% 30生成人工(Pstar T)对测试
Pstar_array = 36.6133 * (1.05)。^ (1:30);
T_array = 385.15 + (1:30);
%叫二分30 (Pstar T)对
为i = 1:元素个数(T_array)
Pstar = Pstar_array(我);
T = T_array(我);
有趣= @ (V) -Pstar + (R * T * (((1 - c) / V) - ((c / b) *日志(1 b / V)))——* c / V ^ 2);
V (i) =二等分(有趣,b, Vc);
错误(我)=乐趣(V (i));
结束
图(1)
情节(1:30,V)
图(2)
情节(1:30,错误)
函数索尔=二等分(有趣,V0, Vc)
n = 100;
V =半;
limmax =风险;
为i = 1: n
Vls = (V + limmax) / 2;
如果有趣(Vls) < 0
limmax = Vls;
其他的
V = Vls;
结束
结束
索尔= Vls;
结束