convert cell to an integrable function

3 Ansichten (letzte 30 Tage)
Mohammadfarid ghasemi
Mohammadfarid ghasemi am 27 Mai 2022
Beantwortet: Joel Van Sickel am 10 Jun. 2022
Dear all,
I want to enter several functions as function handles as input to a function and integrate them according the the prescribed variable in handle, a schematic representation of my request is as follow:
function y=ftest(func)
for i=1:size(func,2)
f=func;
ff=f{i};
y(i)=integral(@(var) ff(var),0,1);
end
end
Any help would be greatly appreciated :)
  2 Kommentare
Jan
Jan am 27 Mai 2022
Yes, this looks good. I'd omit the indirection over f and use func directly. And if func contains a cell of function handles already, there is no need to convert them to a function handle:
function y=ftest(func)
y = zeros(1, size(func, 2)); % Pre-allocate
for i = 1:size(func,2)
ff = func{i};
y(i) = integral(ff, 0, 1); % Or directly: integral(func{i}, 0, 1);
end
end
Do you have problems with your code? What exactly do you use as input? Do you get an error message? If so, which one?
Mohammadfarid ghasemi
Mohammadfarid ghasemi am 28 Mai 2022
It worked, thank you so much:)

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Joel Van Sickel
Joel Van Sickel am 10 Jun. 2022
This question was answered by Jan in the comments. To clean up the answers section, I am posting it down here as well:
Yes, this looks good. I'd omit the indirection over f and use func directly. And if func contains a cell of function handles already, there is no need to convert them to a function handle:
ThemeCopy
function y=ftest(func)
y = zeros(1, size(func, 2)); % Pre-allocate
for i = 1:size(func,2)
ff = func{i};
y(i) = integral(ff, 0, 1); % Or directly: integral(func{i}, 0, 1);
end
end
Do you have problems with your code? What exactly do you use as input? Do you get an error message? If so, which one?

Kategorien

Mehr zu Scripts finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by