How to find a constant input variable in a summation?
2 views (last 30 days)
Show older comments
Basically I'm trying to reverse a loop summation to find the constant variable to make the final summation Q=0. See the attached code. I've tried running fzero() function, but I always get an error to about an undefined input argument 'Ohm_r', which is actually the variable I'm needing to find. All other constants have been defined.
function Q = rpm_read(Ohm_r)
for i=2:21;
N(i)=i-1; %number of blade elements
r(i)= (R/n)*(i-1); %radius of blade element, m
dr(i) = r(i)-r(i-1);
Ut(i) = Ohm_r*r(i); %in plane velocity, m/s
Up(i) = Vd_conv; %Vertical descent velocity, m/s
RV(i) = sqrt((Ut(i))^2+(Up(i))^2); %Resultant velocity using pyth. thm., m/s
Phi(i) = atan(Up(i)/Ut(i)); %inflow angle, rad
Phi_d(i) = radtodeg(Phi(i)); %(deg)
AoA(i) = Phi(i)+PA_r; %inflow plus pitch angle (rad), angle of attack
AoA_d(i)= radtodeg(AoA(i)); %(deg)
q(i) = (1/2)*rho_a*RV(i)^2; % dynamic pressure, Pa
Cl(i)=-4e-5*(AoA_d(i))^6+0.001*(AoA_d(i))^5-0.008*(AoA_d(i))^4+...
0.042*(AoA_d(i))^3-0.124*(AoA_d(i))^2+0.297*(AoA_d(i))+0.022;
Cd(i)=-4e-6*(AoA_d(i))^4+9e-5*(AoA_d(i))^3+0.020;
dLx(i) = q(i)*Cl(i)*c*sin(Phi(i))*dr(i);
dDx(i) = q(i)*Cd(i)*c*cos(Phi(i))*dr(i);
dQ(i) = (dLx(i)-dDx(i))*r(i)*numb;
end
Q = sum(dQ);
end
In the main function I'm calling this by [rpm fval exitflag output]= fzero('rpm_read',x0,options)
Does everything I have so far look correct? Is it even possible to reverse an iteration to find the input variable?
0 Comments
Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!