在matlab下三角函数怎么求解

a786555604
2012-04-08 · TA获得超过506个赞
知道小有建树答主
回答量:309
采纳率:0%
帮助的人:107万
展开全部
%%下面方法比较笨,但是可行。
%%先看一下为什么你解不出来
%%把你的k*1.57e-6看成一个整体x
%%变成求解tan(x)./x-1/0.2159==0
x=-2:0.0001:2;
y=tan(x)./x-1/0.2159;
plot(x,y,x,zeros(size(x)))
title('[-2,2]')

figure
x=-1.5:0.0001:1.5;
y=tan(x)./x-1/0.2159;
plot(x,y,x,zeros(size(x)))
title('[-1.5,1.5]')

%%从上面两张图可以看出
%%第一幅图中由于存在-1.57(-pi/2)时,tan变成无穷大

%%这里精确解我也不知道怎么取到就是了。
%%不过放大第二幅图(放大那个交点),解应当在-1.420到-1.419之间
figure
x=-1.420:0.0000001:-1.419;
y=tan(x)./x-1/0.2159;
plot(x,y,x,zeros(size(x)))
for i=1:length(x)-1
if (y(i)*y(i+1)<0)
break;
end
end
vpa(x(i),10)
得到结果为
-1.419899200
对称性还可以得到1.419899200
你可以逐步求精,上面只是取到小数点后7位,你还可以再往下做,效率不是很高就是了。
当然上面得到的是x
你的k应当是
k=x(i)/1.57e-6;
vpa(k,10)
tan(k*(1.57E-6))./(k*(1.57E-6))-1/0.2159

另外-pi/2以外的区域,还有根,你可以类同地处理
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式