multiplying two cells array

hiii, I have the problem of multiplying two cells array (present in the same array)and having a function type ; A={@(p) 2./(p+2),@(p)1./p} B=A{1}*A{2};
so I got the error Undefined function 'mtimes' for input arguments of type 'function_handle'. which is the error in B={A{1}*A{2}}; can someone help me to know how to multiply functions present as cells in arrays, in order to use them later for iterations and laplace inverse.

Antworten (2)

Chad Greene
Chad Greene am 22 Mär. 2017

0 Stimmen

I think you're looking for cellfun.
Steven Lord
Steven Lord am 22 Mär. 2017

0 Stimmen

You can't multiply function handles. You can multiply the values you receive by evaluating function handles.
f1 = @sin;
f2 = @cos;
thisWillErrorWhenEvaluated = @(x) f1.*f2;
thisWillWork = @(x) f1(x).*f2(x);
x = 0:0.1:2*pi;
y = thisWillWork(x);
figure
plot(x, y)
thisWillError = thisWillErrorWhenEvaluated(x)
figure
plot(x, thisWillError)
If you run all this code as one piece, you will see only one plot. Only the first plot call will be executed; the code will error when trying to evaluate thisWillErrorWhenEvaluated.

Kategorien

Mehr zu Matrices and Arrays finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 22 Mär. 2017

Beantwortet:

am 22 Mär. 2017

Community Treasure Hunt

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

Start Hunting!

Translated by