声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 965|回复: 0

[综合讨论] 我解得方程和实际值差很多,要怎么去验证呢

[复制链接]
发表于 2007-4-4 15:21 | 显示全部楼层 |阅读模式

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

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

x
我的解方程是这样:

Z1=26;
Z2=65;
Z3=65;
Z4=27;
Z5=144;
P=10;
R=750;
r=440;
L=sqrt(950^2+70^2)
e=atan(70/950)
B0 = [0.003];
x0=[-R,217.5]
options = optimset('Display','off');
m=[100:101];
for i = 1: length(m)
t(i)=m(i)*Z1*Z2*Z4/(Z2*Z3*Z5*P)
A(i)=asin(t(i)/135);
AA=A(i);
B(i)=fzero(@myfun_1,B0,options,AA);
BB=B(i);
x=fsolve(@myfun2_1,x0,options,BB);
x1(i)=x(1)
x2(i)=x(2)
delta1(i)=r-sqrt((x(1)+R+r).^2+(x(2)-217.5).^2)
end
p=polyfit(m,delta1,1)
px=poly2str(p,'x')


自定义函数1:
function f=myfun_1(B,A)
Z1=26;
Z2=65;
Z3=65;
Z4=27;
Z5=144;
P=10;
L=sqrt(950^2+70^2)
e=atan(70/950)
f=[((20.*sin(A)-20.*cot(B).*(1-cos(A))-L.*sin(e+B)+tan(B).*(L*cos(e+B)-950))./(cot(B)+tan(B))+20.*(1-cos(A))).^2+(-20.*cot(B).*(1-cos(A))-cot(B).*((20.*sin(A)-20.*cot(B).*(1-cos(A))-L.*sin(e+B)+tan(B).*(L.*cos(e+B)-950))./(cot(B)+tan(B)))).^2-70^2];

自定义函数2:
function y=myfun2_1(x,B)
r=440;
R=750;
y=[217.5.*(cos(B)-1).*x(1)./(-217.5.*sin(B)+R+r)+217.5.*(cos(B)-1).*(R+r)./(-217.5.*sin(B)+R+r)-x(2)+217.5;(x(1)+217.5.*sin(B)).^2+(x(2)-217.5.*cos(B)).^2-R.^2];

计算得到的delta1 和实际测得的值差很多. 要怎么验算我求解的正确性 呢?
回复
分享到:

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-19 10:28 , Processed in 0.062750 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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