Not sure why I am getting errors for my anonymous functions.

6 Ansichten (letzte 30 Tage)
Connor
Connor am 12 Feb. 2023
Bearbeitet: Torsten am 13 Feb. 2023
I have this code:
k = randn(1); % random variable
% define all of your variables below
f = @(x) (sin(x)+4.*x)/x.^2
A = f(5)
g = @(x,k) exp(cos(x)).^k
B = g(pi/4,k)
x = [0:0.1:1]
C = g(f(g(x)))
and when I run it I get these two errors:
Not enough input arguments.
Error in solution>@(x,k)exp(cos(x)).^k (line 5)
g = @(x,k) exp(cos(x)).^k
Error in solution (line 8)
C = g(f(g(x)))

Antworten (2)

Voss
Voss am 12 Feb. 2023
That's one error.
g takes two inputs, but you are giving it only one when you use it here:
C = g(f(g(x)))
The input given to g is x. What k is it supposed to use?

Torsten
Torsten am 13 Feb. 2023
Bearbeitet: Torsten am 13 Feb. 2023
This would work:
k = randn(1); % random variable
% define all of your variables below
f = @(x) (sin(x)+4*x)./x.^2;
A = f(5);
g = @(x,k) exp(cos(x)).^k;
B = g(pi/4,k);
x = [0:0.1:1];
C = g(f(g(x,k)),k)
C = 1×11
0.9670 0.9671 0.9675 0.9680 0.9688 0.9698 0.9710 0.9725 0.9741 0.9759 0.9778

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Produkte


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by