function [y] =dvSegment(x)%UNTITLED Summary of this function goes here% Detailed explanation goes hereif x<-5 y=(x*x+5*x-1)/6 ;elseif -5<=x&5>x y=exp(x-1);elseif x>=5 y=log10(7*x+4); 这是我编的子函数。。怎么编写主程序。end
主程序:
能帮我解释下y = arrayfun(@dvSegment,x);这个语句吗。。我刚学,只以为打y=dvSegment(x)还有怎么把函数值求出来。。。
arrayfun对数组所有元素进行隐式循环,大致相当于
这是因为你写的子函数不支持输入为数组的情况(问题出在if语句,不报错,但结果不对),所以只能逐个元素调用。