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.
回答(2 个)
Chad Greene
2017-3-22
0 个投票
Steven Lord
2017-3-22
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.
类别
在 帮助中心 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!