MATLAB Answers

0

Trying to solve a definite integral but wont give numerical solution

Asked by Heather Holzer on 23 Aug 2019
Latest activity Commented on by Heather Holzer on 23 Aug 2019
  1. Q=150;
  2. k=1.49;
  3. n=0.02;
  4. So=0.0048;
  5. b=3;
  6. g=32.2;
  7. x1=0;
  8. y1=3; %x2=200;
  9. h=20;
  10. x2=200;
  11. syms y;
  12. f_xy=(So-((Q*n)/(k*b*(y^(5/3))))^2)/(1-((Q^2)/((b^2)*g*y^3)));
  13. func=int(f_xy,y,[x1 x2]);
  14. vfunc=vpa(func);
  15. y=y1+vfunc;
  16. ys=string(y);
  17. yf=str2double(ys);
this is what shows up in the varaibles for ys= "int((10000/(22201*y^(10/3)) - 3/625)/(12500/(161*y^3) - 1), y, 0, 200) + 3"
Also the above equation is not how it should look with variables plugged in.

  0 Comments

Sign in to comment.

Products


Release

R2018b

1 Answer

Answer by Torsten
on 23 Aug 2019
 Accepted Answer

Q=150;
k=1.49;
n=0.02;
So=0.0048;
b=3;
g=32.2;
x1=0;
y1=3; %x2=200;
h=20;
x2=200;
f_xy=@(y)(So-((Q*n)./(k*b*(y.^(5/3)))).^2)./(1-((Q^2)./((b^2)*g*y.^3)));
vfunc=integral(f_xy,x1,x2);
y=y1+vfunc

  7 Comments

is this close?
sym y
x2=[20,20,200];
f_xy=(So-((Q*n)./(k*b*(y.^(5/3)))).^2)./(1-((Q^2)./((b^2)*g*y.^3)));
vfunc=int(f_xy,y,[x1 x2]);
y=y1+vfunc;
ys=table(y);
Q=150;
k=1.49;
n=0.02;
So=0.0048;
b=3;
g=32.2;
x1=0;
y1=3; %x2=200;
h=20;
x2=[20,40,60];
f_xy=@(y)(So-((Q*n)./(k*b*(y.^(5/3)))).^2)./(1-((Q^2)./((b^2)*g*y.^3)));
vfunc = zeros(numel(x2,1));
for i=1:numel(x2)
vfunc(i) = integral(f_xy,x1,x2(i));
end
y = y1+vfunc
But - as already said - you should check whether the integral exists at all.
I will. Thank you so so very much for your excellence!

Sign in to comment.