Integral function, input parameter and output as vectors?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi!
I know that if I want several different integral values into a vector, I could use this loop:
int = [];
for i = 1:5
A = integral(@(y) func(y), 0, i);
int = [int, A];
end
But is it in any way possible to put in a vector instead of making this loop? Something like:
B = 1:5;
A = integral(@(y) func(y), 0, B);
isvector(A) %I want this to be true then.
And thereby get a vector A?
0 Kommentare
Antworten (1)
Star Strider
am 27 Nov. 2015
Trying your code with the exp function:
B = 1:5;
A = integral(@exp, 0, B);
it throws the error ‘A and B must be floating-point scalars.’. So the short answer is: No!
However, not knowing what ‘func(y)’ actually is and not being clear on what you want to do, it is possible to integrate array-valued functions if you set the name-value pair 'ArrayValued in integral to true or 1.
For example, you might change your integral call to:
B = 1:5;
A = integral(@(y) exp(B.*y), 0, 1, 'ArrayValued',1);
That syntax works.
0 Kommentare
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!