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!