Error in using Integration, How to fix it ?

3 次查看(过去 30 天)
I am trying to plot a function with integration in it, and it always gives me an error in using the integral, I tried using function handle for the first argument (according to the error) , but the error remaind.
t = 0:0.02:20;
y = 0:1000;
x = @(t,y) (y/((4*t*0.02/1000)^0.5));
fun = @(x)(exp(-x.^2));
erf = (2/pi^(0.5)) *integral(fun,0,x); % the error is in this line
erfc= 1 - erf;
VProfile= 10*erfc;
plot(t,VProfile)
title('Velocity Profile')
xlabel('time (sec)')
ylabel('Velocity (cm/sec)')
so what did I do wrong? and how can I fix it ? and if the code has another error I didnt notice, please point it out.
thank you.

采纳的回答

Alan Stevens
Alan Stevens 2021-1-12
编辑:Alan Stevens 2021-1-12
Since x has t in the denominator. t=0 will cause problems, so start at t = 0.02 instead, perhaps! This would require a change in y to get the same number of elements as t.
You don't need x as a function. Replace with
x = y./((4*t*0.02/1000).^0.5);
then calculate your error function in a loop:
for i = 1:numel(t)
erf(i) = (2/pi^(0.5))*integral(fun,0,x(i));
end
Best not to use erf and erfc as they are functions already built-in to MATLAB. Better as, say, erF and erFc.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Calculus 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by