beetle521 发表于 2009-1-5 10:57

请高手帮解个方程式,急,谢谢!

arccos[(l*sinb-1)/(l+1)]-arccos[(l*sinb-1)/(l-1)]-c=0
l为所求
b、c输入数据

[ 本帖最后由 beetle521 于 2009-1-5 11:22 编辑 ]

ch_j1985 发表于 2009-1-5 18:30

回复 楼主 beetle521 的帖子

看看此帖
http://forum.vibunion.com/forum/viewthread.php?tid=75144&page=1#pid394719

不爱陌生人 发表于 2009-1-6 09:18

回复 楼主 beetle521 的帖子

b=input('b=');
c=input('c=');
l=solve('acos[(l*sinb-1)/(l+1)]-acos[(l*sinb-1)/(l-1)]-c=0')

beetle521 发表于 2009-1-6 19:49

回复 沙发 ch_j1985 的帖子

我算出的结果是2.168459……
而人家给的结果是4.53635

请问这是怎么回事?
谢谢

beetle521 发表于 2009-1-6 19:49

回复 板凳 不爱陌生人 的帖子

我算出的结果是2.168459……
而人家给的结果是4.53635

请问这是怎么回事?
谢谢

ch_j1985 发表于 2009-1-6 20:18

回复 5楼 beetle521 的帖子

b、c贴出来大家试试

beetle521 发表于 2009-1-7 16:08

回复 6楼 ch_j1985 的帖子

b=40°
c=12.5581°

ChaChing 发表于 2009-1-7 18:21

回复 板凳 不爱陌生人 的帖子

我试过LZ的, 怎解不出!? 版本问题吗? 我的 v6.5

ch_j1985 发表于 2009-1-7 19:39

回复 7楼 beetle521 的帖子

将度数转化为弧度

beetle521 发表于 2009-1-7 20:24

回复 9楼 ch_j1985 的帖子

十分感谢!

beetle521 发表于 2009-1-7 21:04

一个新问题,我想做一个界面:

K,α已知
θ=180*(K-1)/(K+1)
arccos[(t*sinα-1)/(t+1)]-arccos[(t*sinα-1)/(t-1)]-θ=0求出t.


一个push button为计算,我编写程序为


global K theta
theta=180*(K-1)/(K+1);
theta=num2str(theta);
set(handles.theta,'string',theta);


global phi t theta
theta=get(handles.theta,'string');
theta=str2num(theta);
t=solve('acos((t*sin(phi*pi/180)-1)/(t+1))-acos((t*sin(phi*pi/180)-1)/(t-1))-theta*pi/180');
t=num2str(t);
set(handles.t,'string',t);

运行后,提示内存不足,请问应该如何解决,谢谢!




ch_j1985 发表于 2009-1-7 21:32

回复 11楼 beetle521 的帖子

对界面不熟悉
上面的两段代码放在同一个push button的CallBack里面吗?

beetle521 发表于 2009-1-7 21:44

回复 12楼 ch_j1985 的帖子

是的,就是计算这个push button下

beetle521 发表于 2009-1-8 14:39

回复 12楼 ch_j1985 的帖子

想问一下关于解方程函数的问题

例如:
temp2=40*pi/180;
temp3=12.5581*pi/180;
solve('acos((t*sin(temp2)-1)/(t+1))-acos((t*sin(temp2)-1)/(t-1))-temp3',0)

感觉我的问题就是这个solve函数,有没有什么函数允许式子中有参数呢?

beetle521 发表于 2009-1-9 11:33

问题解决特此汇报,方便以后遇到类似问题的朋友!

程序修改后为:
temp2=phi/180*pi;
temp3=theta/180*pi;
f=@(t)acos((t*sin(temp2)-1)/(t+1))-acos((t*sin(temp2)-1)/(t-1))-temp3;
t=fzero(f,)

因为用solve函数时容易丢根,所以求解前可以先作图,然后指定解出某区间的的一个解

找了一个作图求解的例子,可以参考:
下面的程序作出了上的图像,通过观察,指定解出了内的一个解,注意fzero函数每次只能找到一个解

X=;Y=zeros(1,length(X));
plot(X,1.5*sin(X)-sin(pi/3+X/3),X,Y,'r');
grid on
axis equal

f=@(X)1.5*sin(X)-sin(pi/3+X/3);
z=fzero(f,)
页: [1]
查看完整版本: 请高手帮解个方程式,急,谢谢!