Using the Integral-function

Hi, I have a problem using the function integral on Matlab R2018b.
The error is: Too many Input arguments.
function [t]=schwingungsdauerK6_A3(L,phi0)
g=9.81;
k=sin((phi0)./2);
koeff=4*sqrt(L./g);
fun=@(x) 1./(sqrt(1-(k.*(sin(x))).^2));
u=integral(fun,0,(2*pi));
t=koeff.*u
end
and I start it with this script.. for example
L=9.81
phi0 =30 degree
disp('Schwingungsdauer bei phi0= 30Grad');
erg=schwingungsdauerK6_A3(9.81,30);
fprintf('Schwingungsdauer beträgt %.2f sec',erg);
Can anyone tell my where my mistake is?

Respuestas (3)

madhan ravi
madhan ravi el 23 de Nov. de 2018
Editada: madhan ravi el 24 de Nov. de 2018

0 votos

Bitte ausprobieren:
L=9.81
phi0 =30 %degree
disp('Schwingungsdauer bei phi0= 30Grad');
erg=schwingungsdauerK6_A3(9.81,30); %function call
fprintf('Schwingungsdauer beträgt %.2f sec\n',erg);
function [t]=schwingungsdauerK6_A3(L,phi0) %function definition
g=9.81;
k=sind((phi0)./2);
koeff=4*sqrt(L./g);
fun=@(x) 1./(sqrt(1-(k.*(sin(x))).^2));
u=integral(fun,0,(2*pi));
t=koeff.*u
end
command window:
>> COMMUNITY
L =
9.8100
phi0 =
30
Schwingungsdauer bei phi0= 30Grad
t =
25.5703
Schwingungsdauer beträgt 25.57 sec
>>

8 comentarios

Torsten
Torsten el 23 de Nov. de 2018
k = sind(phi0/2);
madhan ravi
madhan ravi el 23 de Nov. de 2018
Thanks Torsten corrected it
madhan ravi
madhan ravi el 24 de Nov. de 2018
Editada: madhan ravi el 24 de Nov. de 2018
it doesn't work
doesn't explain anything what error message are you getting ? paste the complete error code . See edited answer I am able to get the answer without any errors.
Matthias Radspieler
Matthias Radspieler el 24 de Nov. de 2018
Yes, I edited the error massage. So it seems, that it is an specific problem, maybe wrong settings?
madhan ravi
madhan ravi el 24 de Nov. de 2018
Editada: madhan ravi el 24 de Nov. de 2018
try clear all at the very beginning and try again if not do the below:
type
whos integral %in command window
which integral -all
Matthias Radspieler
Matthias Radspieler el 24 de Nov. de 2018
Editada: Matthias Radspieler el 24 de Nov. de 2018
>> whos integral
>> which integral -all
C:\Users\Matthias\Documents\MATLAB\integral.m
C:\Program Files\MATLAB\R2018b\toolbox\matlab\funfun\integral.m % Shadowed
>>
.. I don´t any answer from Matlab for 'whos integral'.
madhan ravi
madhan ravi el 24 de Nov. de 2018
C:\Program Files\MATLAB\R2018b\toolbox\matlab\funfun\integral.m % Shadowed
As the message clearly says that you have some file with the name of integral please remove it or rename because it's shadowing the in-built function integral
madhan ravi
madhan ravi el 24 de Nov. de 2018
if it solved your query make sure to accept my answer!

Iniciar sesión para comentar.

Matthias Radspieler
Matthias Radspieler el 24 de Nov. de 2018
Editada: Matthias Radspieler el 24 de Nov. de 2018

0 votos

Thanks for your help, but it still doesn´t work.
I don´t know, where the problem is..
Error using integral
Too many input arguments.
Error in schwingungsdauerK6_A3 (line 12)
u=integral(fun,0,(2*pi));
Error in K6_A3_global (line 18)
erg=schwingungsdauerK6_A3(9.81,30); %function call

1 comentario

Star Strider
Star Strider el 24 de Nov. de 2018
This is the problem:
C:\Users\Matthias\Documents\MATLAB\integral.m
The solution is to rename your function to something that is meaningful to you and does not overshadow any built-in MATLAB functions.

Iniciar sesión para comentar.

Matthias Radspieler
Matthias Radspieler el 24 de Nov. de 2018

0 votos

Thank you so much for your help. Now it works perfectly! That was incredibly stupid of me.

Categorías

Más información sobre Programming en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 23 de Nov. de 2018

Comentada:

el 24 de Nov. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by