Undefined function 'mtimes' for input arguments of type 'function_handle'.
10 次查看(过去 30 天)
显示 更早的评论
function [T,I]=fonk(f)
a=-1;
b=1;
y=@(x) f./sqrt(1-x.^2);
I=quad(f,a,b);
k=input('k yi giriniz...');
T=0;
for i=1:k
w=pi./k;
x=cos((2.*i-1).*pi./(2.*k));
h=f;
T=T+w*h;
end
fprintf(' T = %13.10f I= %9.2e\n',T,I)
end
Undefined function 'mtimes' for input arguments
of type 'function_handle'.
Error in fonk (line 12)
T=T+w*h;
what can i do to solve this error?
0 个评论
回答(2 个)
Daniel Pollard
2020-12-15
Your function fonk takes f as an input. f must be a function handle in order to satisfy the quad requirements. Later, you set h=f and try to calculate w*h. h is a function handle, so this product doesn't make any sense, hence the error you got. In order to rectify this, you must make h be a number, not a function handle. Perhaps you could give the function its arguments, if its output is numeric.
2 个评论
Daniel Pollard
2020-12-16
I told you what the problem is and how you can solve it. I can't solve it because I don't know what the function is supposed to do. You need to either change the way it works, or give f an argument.
Steven Lord
2020-12-16
You cannot multiply a number and a function handle or two function handles.
You can multiply a number and the result of evaluating a function handle or the results of evaluating two function handles.
f = @(x) x.^2;
g = @(x) x.^3;
thisWorks1 = 2*f(5)
thisWorks2 = f(8)*g(4)
h = @(x) f(x)+g(x);
thisWorks3 = h(3)
thisWillNotWork1 = 2*f
thisWillNotWork2 = f*g
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!