how to optimize this solution??
显示 更早的评论
clc
clear all
close all
syms b d
VNX = ((80*415*0.8*d)/250)+(0.16*sqrt(20)*b*d)+((0.48*70590)/sqrt(20))==175000;
assume(300<b<700)
assume(300<d<700 )
sol = solve([VNX], [b,d]);
bx = sol.b
dx = sol.d
i am getting a solution for it but i want an optimal one
any help regarding it??
回答(1 个)
Walter Roberson
2016-1-25
0 个投票
You have a single equation in two variables. When you solve() it you are going to get an equation in one variable. In particular since you listed b first, sol.b will be an equation in d and sol.d will be d (that is, d can assume any value.) You can then solve() sol.b() for your boundary conditions of your assumptions on b, which will allow you to narrow the range of d to consider.
But within that range of d, roughly 300 to 521, there is a solution for b for each value of d.
In order to get an "optimal" solution you need to define what "optimal" means for this situation. Smallest b? Smallest d? Largest b? Largest d?
类别
在 帮助中心 和 File Exchange 中查找有关 Systems of Nonlinear Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!