Matlab中出现虚数怎么办fzero的运用有什么限制,应该用那个函数?
clearx=[-2:1:5];y=sqrt(1.5806e+041*x).*tan(sqrt(1.5806e+041*x).*2.0000e-009)/0.0342-s...
clear
x=[-2:1:5];
y= sqrt(1.5806e+041*x).*tan(sqrt(1.5806e+041*x).*2.0000e-009)/0.0342-sqrt(3.4964e+041*(4.1880e-007-x))./0.757;
plot(x,y,'r','LineWidth',1.5) Warning: Imaginary parts of complex X and/or Y arguments ignored.%???怎么解决?
>> set(gca,'Xtick',[-2:0.5:5]) >> grid >> h=line([-2,5],[0,0]);
>> f=@(x)sqrt(1.5806e+041*x).*tan(sqrt(1.5806e+041*x).*2.0000e-009)/0.0342-sqrt(3.4964e+041*(4.1880e-007... -x))./0.757;
>> [x1,f1,exitflag1]=fzero(f,3);
??? Error using ==> fzero
Function value at starting guess must be finite and real.%自然接下来就算不了了 展开
x=[-2:1:5];
y= sqrt(1.5806e+041*x).*tan(sqrt(1.5806e+041*x).*2.0000e-009)/0.0342-sqrt(3.4964e+041*(4.1880e-007-x))./0.757;
plot(x,y,'r','LineWidth',1.5) Warning: Imaginary parts of complex X and/or Y arguments ignored.%???怎么解决?
>> set(gca,'Xtick',[-2:0.5:5]) >> grid >> h=line([-2,5],[0,0]);
>> f=@(x)sqrt(1.5806e+041*x).*tan(sqrt(1.5806e+041*x).*2.0000e-009)/0.0342-sqrt(3.4964e+041*(4.1880e-007... -x))./0.757;
>> [x1,f1,exitflag1]=fzero(f,3);
??? Error using ==> fzero
Function value at starting guess must be finite and real.%自然接下来就算不了了 展开
1个回答
展开全部
y = real(y); % 取出实部
更多追问追答
追问
首先谢谢,不过那数据就不真实了,有其它办法没?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询