- #1
RollDozer
- 1
- 0
Homework Statement
I need to create a function that will supply me with a vector that lists the heights at which markers should be placed on a tank to display the volume at that level. The tank is a cylinder on its side with 2 boxes on either end to make it free standing (image attached).
I've got my code to give me an answer for the first V input, but it does not provide answers for the other V's.
Homework Equations
This is the equation for the volumes that I am using:
Vend = (2/5)*R*h*L
Vcyl = (R^2*L*acos((R-h)/R) - L*sqrt(2*R*h-h^2)*(R-h))
Vtotal = Vend + Vcyl - V_Scales, where V_Scales is the volume levels at which heights are desired.
The Attempt at a Solution
Code:
syms h
x = length(V_Scales);
%vmax=pi*(R^2)*L+(4/5)*(R^2)*L;
Vcyl = (R^2*L*acos((R-h)/R) - L*sqrt(2*R*h-h^2)*(R-h));
Vend = (2/5)*R*h*L;
h_found = zeros(x,1);
for i=1:length(x)
Vtotal = Vend + Vcyl - V_Scales(i);
h_found(i) = solve(Vtotal);
end
yScales = double(h_found);
end
Thanks!EDIT: I little bit of double checking my code would have saved me a load of time. The beginning of the for loop should read: for i = 1:x, since I already defined the length of the input vector as x and when I was redoing code I just left it the same as I started.
Attachments
Last edited: