Matlab 某个自定义的函数中如果有多个输出值 如何正确使用函数句柄@

2024-11-19 08:52:48
推荐回答(1个)
回答1:

fzero求解的函数只能是单输出的(如果是多输出函数,后面没凳的输出会被忽略)。

不猜弊可能如你所希望的那样,通过一次fzero求出y1、y2对应的零点。只能通穗察族过循环的方式做。

 

但如果把函数改写一下,可以避免使用显式循环:

function y = A(x)
y(1)=x-5;
y(2)=x-3;

 然后求解:

>> s=arrayfun(@(i)fzero(@(x)subsref(A(x),struct('type','()','subs',{{i}})),[1 6]),1:length(A(1))) 
s =
     5     3