程序代码如下

function [length]=contactlength(x0)

if x0>50||x0

'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不久,希望大神们多多指导

matlab subs 慢,求助matlab程序计算速度过慢的原因相关推荐

  1. matlab caxis 刻度,[求助]MATLAB画图问题,caxis.m的问题

    [求助]MATLAB画图问题,caxis.m的问题 近日在用evolutionary spectrum做一个序列的周期分析,碰到如下的问题: ??? Error using ==> set Ba ...

  2. MATLAB课程表分配问题,求助matlab大神,学校的课程安排太骚了,我们压根就不用学matlab...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 上了MATLAB,可是对数学完全不感兴趣.老师弄了个作业,代码附件了.求大佬帮忙理解原理后简单做一个不一样的过程的程序.帮忙注释一下代码.(一开始忘记下载 ...

  3. matlab fsolve用法,求助Matlab fsolve用法

    fsolve编辑本段回目录 求解非线性方程函数 [x,fval,exitflag,output,jacobian]= fsolve(fun,x0,options)    输入及其输出解释如下 输出: ...

  4. matlab方差贡献率,求助,关于累计方差贡献率低的原因?

    不同的学科有不同的标准,没有一个统一的标准: Cumulative percentage of variance (criterion) is another area of disagreement ...

  5. scilab和matlab的区别,Fortran, Matlab, Octave, Scilab计算速度比较

    Fortran, Matlab, Octave, Scilab计算速度比较 (2015-04-21 18:13:18) 标签: 佛学 严格来说Fortran,和Matlab, Octave, Scil ...

  6. 如何提高 matlab 计算速度 运算效率

    最近在网上查了一些资料,并结合自己的经验,就如何提高matlab计算效率,总结一下几个原则: 1. 提前给数组分配大小. 例如:在程序循环时用到数组变量 a ,若知道数组 a 的大小或者知道 a 的大 ...

  7. matlab安装无效距离过远,求助matlab的远程序

    求助matlab的远程序 function varargout = a1(varargin) % A1 M-file for a1.fig % A1, by itself, creates a new ...

  8. matlab ftt图像压缩,求助 fft图像压缩程序问题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在做毕设 参照数字图像压缩技术及matlab实现这本书的程序. % 装入256×256的图像 initialImage=imread('nanmen.jp ...

  9. 水击计算的matlab程序,MATLAB GUI在油库管道水击压力计算中的应用

    MATLAB GUI在油库管道水击压力计算中的应用 于聪聪 [浙江海洋学院石油化工学院 浙江舟山 316000] 收稿日期:2010 - 08 - 11.作者简介:于聪聪(1989 - ) ,女 ,本 ...

最新文章

  1. Spring Boot:自定义starter
  2. php绘图效率,对于PHP绘图技术的理解
  3. 高并发学习(二)安全发布对象/不可变对象/线程封闭
  4. 手动搭建一个Spring Boot项目
  5. bottomnavigationview放大两边没有_有没有什么HAPPYEND的动漫?
  6. 【转】我的opengl编程学习(二)(混合、深度测试、雾化、
  7. Vue中将十六进制颜色格式转换为RGB格式
  8. Redis学习之缓存数据类型
  9. 大乘起信论别记(本)
  10. 施旺将接替贺恩霆担任赛诺菲大中华区总裁;嘉士伯集团试用生物基啤酒瓶 | 美通企业日报...
  11. sql怎么撤回update_如何写好5000行的SQL代码
  12. 车床零件加工调度问题
  13. mysql records_MySQL 基本操作 · LYF_Records
  14. 二维数组--二维数组的遍历
  15. 监控系统zabbix相关
  16. 技术是可以量化的,稳定性性能和资产个数
  17. 2008 r2 server sql 中文版补丁_Microsoft SQL Server 2008 R2 SP1补丁 64位 官方免费版(附安装教程)...
  18. 89c52串口通信+LCD1602显示
  19. NOIP C++ 生涯
  20. Redis学习:基本知识点(转载)

热门文章

  1. SpringBoot2.x Nacos RocketMQ 事务消息
  2. linux CPU、内存、I/O、磁盘等监控统一解决方案
  3. 发送http和https请求工具类 Json封装数据
  4. 第十篇:Spring Boot整合mybatis+逆向工程(Mysql+Oracle) 入门试炼01
  5. 系统架构设计师 - 软件架构设计 - 架构评估
  6. vuex从安装到使用的教程
  7. linux-centos7 常用的基本命令--用户组管理
  8. Java-值传递和引用传递
  9. printf 指针地址_指针搞都不懂,好意思说自己会C语言?
  10. grep从文件末尾开始找_新人自学前端到什么程度才能找工作?