如何用matlab求解三角函数

如何用matlab求解三角函数,第1张

左边先合并同类项,两边再取反正弦呗。结果注意加上一个2kpi(k为整数)。或者先画出y=018sinb+49sinb的图象,再用一个取坐标的指令,手动找出(b,26)的横坐标

在matlab中输入

>> L1=4;

>> L2=4;

>> EI1=05310^12;

>> EI2=007310^12;

>> syms lamda;

>> A=-(sinh(L1lamda)-sin(L1lamda)-L2lamda(cosh(L1lamda)-cos(L1lamda)))/(cosh(L1lamda)+cos(L1lamda)+L2lamda(sin(L1lamda)-sin(L1lamda)))

A =

(-sinh(4lamda)+sin(4lamda)+4lamda(cosh(4lamda)-cos(4lamda)))/(cosh(4lamda)+cos(4lamda))

y=EI1(cosh(L1lamda)+cos(L1lamda)+A(sinh(L1lamda)+sin(L1lamda)))(-164(cos(164L2lamda)/sin(164L2lamda)+cosh(164L2lamda)/sinh(164L2lamda)))+53792EI2(A(cosh(L1lamda)-cos(L1lamda))+sinh(L1lamda)+sin(L1lamda))

y =

(530000000000cosh(4lamda)+530000000000cos(4lamda)+530000000000(-sinh(4lamda)+sin(4lamda)+4lamda(cosh(4lamda)-cos(4lamda)))/(cosh(4lamda)+cos(4lamda))(sinh(4lamda)+sin(4lamda)))(-41/25cos(164/25lamda)/sin(164/25lamda)-41/25cosh(164/25lamda)/sinh(164/25lamda))+392681600000(-sinh(4lamda)+sin(4lamda)+4lamda(cosh(4lamda)-cos(4lamda)))/(cosh(4lamda)+cos(4lamda))(cosh(4lamda)-cos(4lamda))+392681600000sinh(4lamda)+392681600000sin(4lamda)

solve(y)

ans =

-22683621981532200097501890241426

你看这个和你会不会有出入

matlab怎么把两个三角函数求和的方法:S=sum(___,outtype)指定输出结果的数据类型。可选字符串参数为'double','default'和'native'。一般来说,默认是'default'。有时候我们对整数求和,想要结果输出为double类型,就可以用这个参数。

1、将solve()函数改用vpasolve()函数

2、增加一个语句,将x的弧度换算成x的度数,即

x=r180/314159

按上述更改后,运行得

x =093951792291988162586098861351023

%%下面方法比较笨,但是可行。

%%先看一下为什么你解不出来

%%把你的k157e-6看成一个整体x

%%变成求解tan(x)/x-1/02159==0

x=-2:00001:2;

y=tan(x)/x-1/02159;

plot(x,y,x,zeros(size(x)))

title('[-2,2]')

figure

x=-15:00001:15;

y=tan(x)/x-1/02159;

plot(x,y,x,zeros(size(x)))

title('[-15,15]')

%%从上面两张图可以看出

%%第一幅图中由于存在-157(-pi/2)时,tan变成无穷大

%%这里精确解我也不知道怎么取到就是了。

%%不过放大第二幅图(放大那个交点),解应当在-1420到-1419之间

figure

x=-1420:00000001:-1419;

y=tan(x)/x-1/02159;

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)

得到结果为

-1419899200

对称性还可以得到1419899200

你可以逐步求精,上面只是取到小数点后7位,你还可以再往下做,效率不是很高就是了。

当然上面得到的是x

你的k应当是

k=x(i)/157e-6;

vpa(k,10)

tan(k(157E-6))/(k(157E-6))-1/02159

另外-pi/2以外的区域,还有根,你可以类同地处理。

求解含有三角函数的非线性方程的方法:

1、对于简单的含有三角函数的非线性方程,可以用solve()函数求解。

solve('表达式')

2、较复杂的含有三角函数的非线性方程,可以用fsolve()函数求解。或用其他数值分析方法(如二分法,牛顿法等)求解。

func=@(x) 表达式 %自定义函数

fsolve(func,x0) %x0初值

可以,直接表达就好。

solve('tan(theta)=(Md^2(sin(beta))^2-1)/((Md^2((k+1)/2-(sin(beta))^2)+1)tan(beta))','beta')

将其中需要给定的值给定即可。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/11678767.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存