multiplying two cells array
1 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
回答(2 个)
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.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!