# Error using .^ not enough input arguments

1 Ansicht (letzte 30 Tage)
Alexander am 11 Apr. 2023
Kommentiert: Les Beckham am 11 Apr. 2023
I dont know what i am doing wrong here.
I have a function that is meant to take a single input 'a' and output 'L' however i keep getting this error.
Error using .^
Not enough input arguments.
Error in calc_length (line 11)
L = integral( sqrt(1+{power(dy/dx),2}),x1,x2);
Error in Test (line 1)
z = calc_length(2);
Code:
function [L] = calc_length(a)
%UNTITLED6 Summary of this function goes here
% Detailed explanation goes here
x1 = -1;
x2 = 1;
dx = 0.1;
x = 1:10;
(x1<=x)&(x<=x2);
y=(power((2.*x),a)+1).*cos((pi.*x)/2);
dy = diff(y);
L = integral( sqrt(1+{power(dy/dx),2}),x1,x2);
end
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Les Beckham am 11 Apr. 2023
Bearbeitet: Les Beckham am 11 Apr. 2023
% L = integral( sqrt(1+{power(dy/dx),2}),x1,x2);
% ^ ^ remove the curly braces and move ,2
% inside the parentheses
L = integral(sqrt(1 + power(dy/dx ,2), x1, x2);
Note that this can also be written like this (which explains the mention of .^ in the error message)
L = integral(sqrt(1 + (dy/dx).^2, x1, x2);
##### 2 KommentareKeine anzeigenKeine ausblenden
Alexander am 11 Apr. 2023
yeah, that worked. thank you
Les Beckham am 11 Apr. 2023
You are quite welcome.

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

R2022b

### Community Treasure Hunt

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

Start Hunting!

Translated by