1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| function newFunc = Mappingintegral(Func,a,b)
%Mappingintegral transforms an [a:b]-integral into a [-1:1]-integral.
%Func is the x-function to integrate between a and b and newFunc is
%the equivalent x-function but to integrate between -1 and 1.
%Func could be entered under different types, for example for f(x)=(3*x+2) on [1;4]:
% - inline function, i.e Mappingintegral(inline('3*x+2'),1,4)
% - character-chain, i.e Mappingintegral('3*x+2',1,4)
% - handle_function, i.e Mappingintegral(@(x) 3*x+2,1,4)
if isa(Func,'function_handle')
Func=func2str(Func);
end
if isa(Func,'char')
Func = strrep(Func,'@(x)','');
Func=inline(Func);
end
c = (b-a)/2;
d = (a+b)/2;
syms x
newFunc = inline(c* Func(c*x + d));
end |
Partager