Function works with one input but not the other
1 view (last 30 days)
Show older comments
Im using the optimisation tool and have set everything up following the tutorial on the mathwork website, the tool works when the input is Y but not when the input is T_to, which is what id like it to be. T_to input only works when the number of variables is one, which doesnt give me a useful result.
I should disclose im still very new to matlab so its possible that the problem is very simple.
function F = mymulti1(T_to)
y = 20640000;
%T_to = 3050; %degC
A_choke = 0.0531; %m^2
A_Rat = 78;
A_Exit = A_choke * A_Rat; %m^2
T_Exit = 343.2;
M_Exit = 1.65; %Ratio
Gamma = 1.26; %Const
Gas_const = 287.5; %Const
MFR = ((A_choke * y) ./ (sqrt(T_to))) * (sqrt(Gamma / Gas_const)) * ( ((Gamma + 1) / 2)^-((Gamma + 1) / 2*(Gamma - 1)));
Pressure_Exit = (1 + ((Gamma - 1) / 2) * ((M_Exit) ^ 2))^ - (Gamma /(Gamma - 1)) * y;
Velocity_Exit = M_Exit * sqrt(Gamma * Gas_const * T_Exit);
Thrust = (MFR .* Velocity_Exit) + (A_Exit * Pressure_Exit);
F(2) = Thrust ./ MFR ;
F(1) = (y .* A_choke) ./ MFR;
end
0 Comments
Answers (1)
VBBV
on 14 Apr 2022
F(2,:) = Thrust ./ MFR ;
F(1,:) = (y .* A_choke) ./ MFR;
Check the size of output matrix
10 Comments
See Also
Categories
Find more on Multiobjective Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!