24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 4698  |  回复: 4

深渊明宇

新虫 (小有名气)

[求助] 求助matlab程序计算速度过慢的原因

程序代码如下
function [length]=contactlength(x0)
if x0>50||x0<-50
    'error:数据超出尺寸范围'
else
    syms x
    R=300;%非球面顶点曲率半径
    c=1/R;
    delta=0.1;
    k=-3.3;%非球面参数
    rb=27;%半径
    y=(-1*c*x.^2)./(1+sqrt(1-(1+k)*(c^2)*x.^2));
    dy=diff(y);
    dy2=diff(y,2);
    dyx0=subs(dy,x0);
    dy2x0=subs(dy2,x0);
    r0=(1+dyx0^2)^(3/2)/(abs(dy2x0))%曲率半径
    y0=(-1*c*x0^2)./(1+sqrt(1-(1+k)*(c^2)*x0^2));%非球面接触点y坐标
   if x0==0
      xb=x0;
      yb=y0+rb-delta;
      ob=[xb,yb]%圆心二维坐标
   else
      xb=x0+(rb-delta)/sqrt(1+1/dyx0^2);
      yb=y0+(-1/dyx0)*(rb-delta)/sqrt(1+1/dyx0^2);
      ob=[xb,yb]%圆心二维坐标
   end
    syms x2 y2
    ezplot((x2-xb)^2+(y2-yb)^2==rb^2,[-50 50 -10 70])
    axis equal;
    hold on;
    ezplot(y2==(-1*c*x2^2)/(1+sqrt(1-(1+k)*(c^2)*x2^2)),[-50 50 -10 70])
    s=solve(y2==(-1*c*x2^2)./(1+sqrt(1-(1+k)*(c^2)*x2^2)),...
            (x2-xb)^2+(y2-yb)^2==rb^2,x2,y2);
    X=double(s.x2);
    Y=double(s.y2);
    X=X(~logical(imag(X)));
    length=max(X)-min(X)
end
在实际运算过程中,要100多秒才能算出结果,请问是哪里有问题呢?我该怎么改程序?
本人新手,接触matlab不久,希望大神们多多指导
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

深渊明宇

新虫 (小有名气)

2楼2018-01-23 19:17:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hechunlei

至尊木虫 (知名作家)

胡萝卜青椒

胡萝卜青椒
3楼2018-02-16 10:25:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

w136851258

铁杆木虫 (正式写手)

可以考虑使用tic toc,查看具体哪一段代码耗时过长,针对性优化

发自小木虫Android客户端
4楼2018-02-16 15:01:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
5楼2018-04-16 11:37:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 深渊明宇 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 264求调剂 +7 麦小叮当 2026-04-07 7/350 2026-04-07 12:05 by Sammy2
[考研] 化工调剂303分,过四级 +33 栖梧待风 2026-04-02 33/1650 2026-04-07 11:37 by 诗与自由
[考研] 292求调剂 +4 lilllllxccc 2026-04-05 5/250 2026-04-07 09:29 by 纺大杨老师
[考研] 0703调剂 +15 拾玖壹 2026-04-04 17/850 2026-04-07 08:23 by xihu1109
[考研] 274求调剂求调剂 +6 Jachenbingoo 2026-04-06 7/350 2026-04-06 23:09 by lbsjt
[考研] 材料调剂 +10 一样YWY 2026-04-06 10/500 2026-04-06 21:05 by lbsjt
[考研] 308求调剂 +13 倘若起风了呢 2026-04-05 13/650 2026-04-06 14:20 by 蒋皓禹
[考研] 0703化学调剂325分 +12 15771691647 2026-04-04 13/650 2026-04-06 12:00 by lijunpoly
[考研] 求调剂 +11 xzghyuj 2026-04-04 11/550 2026-04-06 11:49 by lijunpoly
[考研] 一志愿同济大学323分(080500)求调剂 +8 yikeniu 2026-04-01 8/400 2026-04-05 18:15 by cql1109
[考研] 0860 求调剂 一志愿国科大 348 分 +3 WiiiP 2026-04-03 3/150 2026-04-05 17:43 by Ecowxq666!
[考研] 298求调剂 +7 manman511 2026-04-05 7/350 2026-04-05 10:29 by 唐沐儿
[考研] 083200 333求调剂 +3 十二!! 2026-04-04 3/150 2026-04-05 08:28 by barlinike
[考研] 本科211 分数293请求调剂 +4 莲菜就是藕吧 2026-04-01 4/200 2026-04-04 22:32 by hemengdong
[考研] 材料专硕306英一数二 +8 z1z2z3879 2026-03-31 8/400 2026-04-04 22:08 by hemengdong
[考研] 315分 085602 求调剂 +15 26考研上岸版26 2026-04-02 15/750 2026-04-03 12:45 by xingguangj
[考研] 重庆大学材料与化工085600,初试370+,求求调剂建议 +8 shzhou_ 2026-04-01 9/450 2026-04-03 09:31 by 蓝云思雨
[考研] 一志愿武汉理工0856,初试334 +3 26考研材料 2026-04-02 3/150 2026-04-02 21:22 by dongzh2009
[考研] 材料专硕322分 +11 哈哈哈吼吼吼哈 2026-04-01 11/550 2026-04-02 10:52 by lnilvy
[考研] 材料求调剂 +10 呢呢妮妮 2026-04-01 13/650 2026-04-02 09:17 by olim
信息提示
请填处理意见