Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-12-23
年龄: 36
帖子: 1
声望力: 0 ![]() |
![]()
function y=douxiangshi(f)
f=inline(f); %定义函数 % 先定义一个函数 对函数求导 ,极值点拐点 先判断最左边的增减凹凸性 在判断中间的 % 增减凹凸性 最后判断最右边的凹凸性 然后画图 n=length(p)-1; a=n:-1:0; syms x; xx=(x.^a)*p'; r=roots(p); real(r);%求零解 syms x z=diff(sym(f),x); %求导 erdao=diff(sym(z),x); %求二阶导 % 求极值点及拐点 i=subs(erdao,'x',dian(k)); if double(i)>0 fprintf('\n函数在 %s 处取得极大值\n',char(dian(k))); elseif double(i)<0 fprintf('\n函数在 %s 处取得极小值\n',char(dian(k))); else end fprintf('\n (%s,%s) 为拐点\n',char(dian(k)),f(dian(k))); end zuo=double(dian(1))-1; %取点 %判断最左区间的增减性及凹凸性 if subs(z,'x',zuo)>0; %判断增 if subs(erdao,'x',zuo)>0; % 判断凸 fprintf('(-∞,%s)为增区间 此区间为凸\n',char(dian(1))); else subs(erdao,'x',zuo)<0; % 判断凹 fprintf('(-∞,%s)为增区间 此区间为凹\n',char(dian(1))); end else subs(z,'x',zuo)>0; % 判断减 if subs(erdao,'x',zuo)>0; % 判断凸 fprintf('(-∞,%s)为减区间 此区间为凸\n',char(dian(1))); else subs(erdao,'x',zuo)<0; % 判断凹 fprintf('(-∞,%s)为减区间 此区间为凹\n',char(dian(1))); end end %判断中间的区间的增减性及凹凸性 for m=1:len-1 n=double((dian(m)+dian(m+1))/2); %取点 if subs(z,'x',n)>0 % 判断增 if subs(erdao,'x',n)>0; % 判断凸 fprintf('(%s,%s)为增区间 此区间为凸\n',char(dian(m)),char(dian(m+1))); else subs(erdao,'x',n)<0; % 判断凹 fprintf('(%s,%s)为增区间 此区间为凹\n',char(dian(m)),char(dian(m+1))); end else subs(z,'x',n)<0; % 判断减 if subs(erdao,'x',n)>0; % 判断凸 fprintf('(%s,%s)为减区间 此区间为凸\n',char(dian(m)),char(dian(m+1))); else subs(erdao,'x',n)<0; % 判断凹 fprintf('(%s,%s)为减区间 此区间为凹\n',char(dian(m)),char(dian(m+1))); end end end % 判断最右区间的增减性及凹凸性 you=double(dian(len))+1;%取点 if subs(z,'x',you)>0 %判断增 if subs(erdao,'x',you)>0; %判断凸 fprintf('(%s,+∞)为增区间 此区间为凸\n',char(dian(len))); else subs(erdao,'x',you)<0; %判断凹 fprintf('(%s,+∞)为增区间 此区间为凹\n',char(dian(len))); end else subs(z,'x',you)>0; %判断减 if subs(erdao,'x',you)>0; %判断凸 fprintf('(%s,+∞)为减区间 此区间为凸\n',char(dian(len))); else subs(erdao,'x',you)<0; %判断凹 fprintf('(%s,+∞)为减区间 此区间为凹\n',char(dian(len))); end end % end ezplot(f); grid 急求,麻烦有能力的大虾帮我修正一下。要求的是:单调区间.零点.极值.凹凸区间.最值.拐点坐标 |
![]() |
![]() |