z=feval(oper,x,y)
时间: 2023-07-30 08:01:07 浏览: 196
z=feval(oper,x,y)是一个MATLAB中的函数调用语句。在该语句中,feval是一个特殊的函数,用于实现函数句柄的调用。
oper表示一个函数句柄或字符串,用于指定要调用的函数。该函数可以是MATLAB内置函数,也可以是自定义函数。
x和y是函数所需的输入参数。这两个参数可以是任意类型的变量,可以是数字、数组、矩阵或字符串等。
通过feval(oper,x,y),MATLAB会根据oper指定的函数来调用对应的函数,并将x和y作为参数传递给该函数。函数将执行相应的操作,并返回一个结果给z。
值得注意的是,feval函数可以接受变长参数,即可以传递任意多个参数给被调用的函数。在这种情况下,x和y后面可以跟随其他参数。
总之,z=feval(oper,x,y)表示调用oper指定的函数,并将x和y作为参数传递给该函数,最后将函数执行的结果赋值给z。
相关问题
matlab中Y=feval(y_char,t,a,b)
这个函数调用语句是使用 feval 函数调用一个叫做 y_char 的函数,其中 t、a 和 b 是该函数的输入参数。函数的输出结果是 Y。具体来说,函数 y_char 的定义应该是类似于下面的形式:
function Y = y_char(t, a, b)
% 这里是 y_char 函数的具体实现
% 可以在函数体中使用输入参数 t、a、b 进行计算
% 最终将计算结果赋值给输出参数 Y
end
在调用 feval 函数时,将 y_char 函数的名称作为第一个参数传入,后面的参数依次传入 y_char 函数的输入参数 t、a、b。feval 函数将会执行 y_char 函数的代码,并将计算结果赋值给 Y 变量。
function[c,err,yc]=bisect(f,a,b,delta) ya=feval(f,a); yb=feval(f,b); if ya*yb>0,return,end max1=1+round((log(b-a)-log(delta))/log(2)); for k=1:max1 c=(a+b)/2; yc=feval(f,c); if yc==0 a=c; b=c; elseif yc*yb>0 b=c; yb=yc; else a=c; ya=yc; end if abs(b-a)<delta,break,end end c=(a+b)/2; err=abs(b-a); yc=feval(f,c);
这是一个 MATLAB 的二分法求函数 f 在区间 [a,b] 上的零点的函数,其中 delta 是精度要求。函数 f 在 a 和 b 处的函数值分别为 ya 和 yb。max1 是迭代的最大次数,根据区间长度和精度要求计算。在 for 循环中,每次将区间 [a,b] 折半,得到中点 c,计算函数在 c 处的函数值 yc。如果 yc 等于 0,说明找到了函数的零点,直接返回 c。如果 yc 与 yb 的符号相同,说明零点在区间 [c,b] 中,将 a 赋值为 c,yb 赋值为 yc。如果 yc 与 ya 的符号相同,说明零点在区间 [a,c] 中,将 b 赋值为 c,ya 赋值为 yc。如果区间长度小于精度要求 delta,跳出循环,最终返回区间中点 c、区间长度 err 和函数在 c 处的函数值 yc。
阅读全文
相关推荐















