Error using solve function
17 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Muhammad Rohaan
le 29 Nov 2022
Commenté : Muhammad Rohaan
le 29 Nov 2022
solve function for code
Gives the error: unable to find explicit solution.
x1 = input('Input volume of tank in gallons: ');
x2 = x1/7.48;
syms int_l;
cost = 812.745*(2*int_l.^2+4.*(int_l+0.5)*(y./(int_l.^2)+1));
diff_cost = diff(cost);
answ = solve(diff_cost == 0);
int_l = answ(isAlways(answ>0));
int_l = double(int_l);
int_h = x2/(int_l.^2);
ext_l = int_l + 1;
ext_h = x2./(int_l.^2)+1;
disp('----------------------------------------------------------------')
disp(['Length of the internal height in feet will be: ' num2str(int_l)])
0 commentaires
Réponse acceptée
Steven Lord
le 29 Nov 2022
You have two variables in your cost function, y and int_l. Is y symbolic or a fixed value? If symbolic, with respect to which variable do you want to differentiate the cost?
syms int_l y;
cost = 812.745*(2*int_l.^2+4.*(int_l+0.5)*(y./(int_l.^2)+1));
diff_cost = diff(cost)
diff_cost_y = diff(cost, y)
diff_cost_int_l = diff(cost, int_l)
The expressions diff_cost and diff_cost_y depend only on int_l but diff_cost_int_l depends on both int_l and y. If you're trying to solve diff_cost_int_l == 0, with respect to which variable are you trying to solve?
solve(diff_cost_int_l, int_l)
solve(diff_cost_int_l, y)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Conversion Between Symbolic and Numeric dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
