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?

Réponses (3)

madhan ravi
madhan ravi le 23 Nov 2018
Modifié(e) : madhan ravi le 24 Nov 2018

0 votes

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 commentaires

Torsten
Torsten le 23 Nov 2018
k = sind(phi0/2);
madhan ravi
madhan ravi le 23 Nov 2018
Thanks Torsten corrected it
madhan ravi
madhan ravi le 24 Nov 2018
Modifié(e) : madhan ravi le 24 Nov 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 le 24 Nov 2018
Yes, I edited the error massage. So it seems, that it is an specific problem, maybe wrong settings?
madhan ravi
madhan ravi le 24 Nov 2018
Modifié(e) : madhan ravi le 24 Nov 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 le 24 Nov 2018
Modifié(e) : Matthias Radspieler le 24 Nov 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'.
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 le 24 Nov 2018
if it solved your query make sure to accept my answer!

Connectez-vous pour commenter.

Matthias Radspieler
Matthias Radspieler le 24 Nov 2018
Modifié(e) : Matthias Radspieler le 24 Nov 2018

0 votes

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 commentaire

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.

Connectez-vous pour commenter.

Matthias Radspieler
Matthias Radspieler le 24 Nov 2018

0 votes

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

Catégories

En savoir plus sur Programming dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by