Defining vector of integrals with undefined function
2 次查看(过去 30 天)
显示 更早的评论
Hi! What I'd like to do is to define a function r, which takes a function f and a partition xi as arguments. r would be a vector, which elements would be defined by the integral from 0 to 1 of f*bj. Where f is the given function and the bj's are functions defined before in my program. The only thing that really matters for these functions are that they depend on x.
My problem is I don't really know how to do this. Here's my lattest attempt. Thanks for the help!
function int_r=r(f,xi)
n=size(xi,2);
int_r=zeros(1,n);
for j=1:n
int_r(j)=integrate(@(x)f(x)*b(j,x,xi),0,1));
end
end
0 个评论
回答(1 个)
Yash
2024-2-21
Hey,
Your code looks almost correct. The only issue is with the syntax of the integral function. You should replace integrate with integral, which is the correct MATLAB function for numerical integration. Here's the corrected version:
function int_r = r(f, xi)
n = size(xi, 2);
int_r = zeros(1, n);
for j = 1:n
int_r(j) = integral(@(x) f(x) * b(j, x, xi), 0, 1);
end
end
Read about the integral function here: https://www.mathworks.com/help/matlab/ref/integral.html
Hope this helps!
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!