当我们在采用matlab软件画一个函数的时候有可能会出现这样一个戒彬尢欤问题,就是出现Warning:Cannotplot‘’‘’:Thisfunction惺绅寨瞀hasnorealvalues.这种错误,那么该怎么解决呢。
工具/原料
matlab软件
win7系统
问题展现
1、定义一个符号变量;symsx;
2、定义一个符号函数;f=log((1-x^2)^(1/2)/(x-1))
3、采用ezplot画图像;ezplot(f);
4、会跳出下面错误;Warning:Cannotplotlog((1-x^2)^猾诮沓靥(1/2)/(x-1)):Thisfunctionhasnorealvalue霜杼厮贿s.>Inezplot>ezplot1at479Inezplotat145Insym.ezplotat61Errorinezplot>ezplot1(line421)error(nargchk(4,6,nargin,'struct'));Outputargument"hp"(andmaybeothers)notassignedduringcallto"D:\MATLABR2012b\toolbox\matlab\specgraph\ezplot.m>ezplot1".Errorinezplot(line145)[hp,cax]=ezplot1(cax,f{1},vars,labels,args{:});Errorinsym/ezplot(line61)h=ezplot(fhandle(f));
解决方法
1、分析:主要是因为我们的函数值在matlab的运葡搌寸笆算机制中不是是实数。方法:改画图指令为ezplot(real(f));
2、查看结果如图。