声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1293|回复: 0

[编程技巧] 关于solve求解三角函数方程的问题

[复制链接]
发表于 2009-9-26 19:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我这有个程序
n1=2.4;n2=1.5;d1=1.5;d2=d1;
theta1=asin(sin(pi/4)/n1);
theta2=asin(sin(pi/4)/n2);
y1=(8.854*10^(-12)/(4*pi*10^(-7)))^(1/2)*2.4*cos(theta1);
y2=(8.854*10^(-12)/(4*pi*10^(-7)))^(1/2)*1.5*cos(theta2);
W={};
m=linspace(0,0.5,5);%这里x和频率及布洛赫波矢都是归一化的
b=1;%x=kd/2pi,y=wd/2pic,K为布洛赫波失乘以(d1+d2)
h=waitbar(0,'waitting');
y=sym('y');
for K=linspace(0,pi,5)
    x=0.2;
    Fa=2*pi*(n1^2*y^2-x^2)^(1/2)*d1/3;
    Fb=2*pi*(n2^2*y^2-x^2)^(1/2)*d2/3;
    g=solve(cos(K)-cos(Fa)*cos(Fb)+2\(y1/y2+y2/y1)*sin(Fa)*sin(Fb),'y');
    W{b}=g;
    b=b+1;
    waitbar((b-1)/length(m),h)
    clear maplemex
end
close(h)
不知道为什么得到的结果g含有不认识的字符(比如下面所示),这些字符我在程序中根本就没用啊哪位大侠帮帮忙啊!!!
不知道用solve这样解合不合适
1/12*(-1/25*(-6400*asinh(562949953421312/35346691471735920571734350619*11782230490578640190578116873^(1/2))^2*_B2-64*pi^2-3200*i*asinh(562949953421312/35346691471735920571734350619*11782230490578640190578116873^(1/2))*pi*_B2+1600*asinh(562949953421312/35346691471735920571734350619*11782230490578640190578116873^(1/2))^2+12800*i*asinh

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-6-26 13:11 , Processed in 0.067101 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表