Calculating value of function in point

I have to write Matlab function:function value = evaluate(f,x,y,n) that evaluates value of real function f on equidistant array of n points on segment [x,y]. Function has to return vector of dimension 2xn, such that in first row are points from equidistant array, and in second row is function value in those points.
Here is my try, but this code doesn't seem to work. I get errors when I run this code. Any help is appreciated.
f=@(x)2*x+2^x;
test = evaluate(f,0,6,7);
function value = evaluate(f,x,y,n)
a = linspace(x,y,n);
b = f(a(1:n));
matrix = [a:b];
end

답변 (1개)

Matt J
Matt J 2021년 10월 23일

0 개 추천

f=@(x)2*x+2.^x;
test = evaluate(f,0,6,7)
test = 2×7
0 1 2 3 4 5 6 1 4 8 14 24 42 76
function matrix = evaluate(f,x,y,n)
a = linspace(x,y,n);
b = f(a);
matrix = [a;b];
end

댓글 수: 2

Ds31
Ds31 2021년 10월 23일
So what was mistake in my code?
Matt J
Matt J 2021년 10월 23일
  1. 2.^x instead of 2^x
  2. [a;b] instead of [a:b]
  3. The return argument needs to be "matrix" instead of "value"

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

제품

릴리스

R2018a

태그

질문:

2021년 10월 23일

댓글:

2021년 10월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by