matlab 求解方程~~急急

初始条件为θ=0,x=-d(θ范围在0—90°之间吧)求大哥大姐们帮忙啊,本人急急急~~用matlab求解出x和θ的关系,也可以是一系列数值解,需要程序!!这个太难了,实... 初始条件为θ=0,x=-d(θ范围在0—90°之间吧)求大哥大姐们帮忙啊,本人急急急~~用matlab求解出x和θ的关系,也可以是一系列数值解,需要程序!!这个太难了,实在不会啊~~作出的给... 初始条件为θ=0,x=-d(θ范围在0—90°之间吧) 求大哥大姐们帮忙啊,本人急急急~~ 用matlab求解出x和θ的关系,也可以是一系列数值解,需要程序!! 这个太难了,实在不会啊~~作出的给高分哦 没有贴图吗??我已经上传啦 展开 展开
 我来答
关翎凭邈
2019-10-22 · TA获得超过4052个赞
知道大有可为答主
回答量:3154
采纳率:24%
帮助的人:237万
展开全部

没有方程怎么解 
快给出方程 
你先等等,这个东西需要迭代求解,速度比较慢。 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
function dx=nonlinear(t,x)
persistent count
if isempty(count)
    count=0;
end
count=count+1;
fprintf('正在运行第%d次\n',count);
fprintf('运行到角度:%d\n',t);
theta1=85*pi/180;
r0=2000*tan(pi/6);
l=2000;
h=8;
d=15;
n=1.586;
%% 取使约束方程r0*sin(t)/sin(theta1)=n*l*sin(w)/sqrt(1-n^2*sin(w)^2)+(h+d+x)*tan(t)-x*tan(w)
%% 等式两边之差小于shredhold的最优w,如果没有满足精度要求的,则进一步精确划分W可能值,直到得到满足要求
%% 的W为止。
w_about=0;
calError=1;
shredhold=0.0005;
w=-pi;
percesion=0.001;
midVar=0.01;
flag=0;  %精化等级
while w_about==0
    while calError>shredhold   
        if w>=pi
            break;
        end
        w=w+pi/180*percesion;
        calError=abs(3172*sin(w)/sqrt(1-2.5154*sin(w)^2)+(23+x)*tan(t)-x*tan(w)-1159.1*sin(t));
        if calError<midVar
            midVar=[midVar calError];
            w_about=[w_about w];
        end
    end
    w=w_about((midVar==min(midVar)));
    fprintf('截断误差:%f',min(midVar));
    percesion=percesion/10;
    flag=flag+1;
    fprintf('flag:%d\n',flag);
end
dx=(h+d+x)/( -(n*cos(w)-cos(t))/(n*sin(w)-sin(t))-tan(t) )/cos(t)^2;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
求theta在[0 PI/4]之间的关系
 tic,[T3,Y3] = ode45(@nonlinear,[0 pi/4],-15);toc
有些误差:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式