Input a Vector as Function Argument
73 次查看(过去 30 天)
显示 更早的评论
Hi,
I was facing this problem in inputing a vector to my user defined function. I have defined a function that needs two inputs to perform some operations. However, when it try to pass on a vector containing two element to the function it shows need more arguments error.
x = [2 , 4]
y = sq(x)
function out = sq(a , b)
out = a.^2 + b;
end
Can somebody show me how to do it right?
I will be very grateful.
Thanks a lot!
0 个评论
采纳的回答
Alan Stevens
2020-12-5
Either
x = [2 , 4]
y = sq(x(1),x(2))
function out = sq(a , b)
out = a.^2 + b;
end
or
x = [2 , 4]
y = sq(x)
function out = sq(x)
a = x(1); b = x(2);
out = a.^2 + b;
end
0 个评论
更多回答(1 个)
Sergey
2024-9-2
Use evalc
func = @(a, b) a+b
InputArgumentsNumeric = [1, 2]
InputArgumentsString = strjoin(cellstr(num2str(InputArgumentsNumeric')),',')
[~,output] = evalc("func(" + InputArgumentsString + ")")
0 个评论
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!