利用等距偏置线求解叶型中弧线

对于从事流体力学及相关行业的科研人员来说,中弧线这一名词一定耳熟能详,在日常的科研工作中可能会存在着求解某一特定叶型中弧线的需求。本文就简单介绍一下通过等距偏置线求解叶型中弧线的流程。

中弧线的定义:叶型中所有内切圆的圆心连线,它可以是一个圆弧、抛物线,或者是某一种光滑的弧形曲线;
偏置线:所有的,距离给定曲线为一定值的点,组成的曲线。

从以上定义我们可以联想到如果对叶型的吸力面曲线和压力面曲线做等距偏置,那么只要等距偏置线有交点则交点到两条线的距离是相等的,不断改变偏置距离,可以得到一系列点,那么这些点的集合就可以组成中弧线。



偏置的原理如下,就是对原始离散点集合(图中1),将相邻两点的中点在法线方向平移相同距离,得到新的点的集合(图中2)。
这里需要注意。对于弯曲度比较大的曲线,离散点的数量不能太多,不然偏置会出现问题。

偏置曲线的代码如下

function newLine=offset(Line,detal)
% 求解曲线的偏置线,输入Line,和detal,分别代表曲线和偏置距离,Line输入格式为两列数据,代表x值和y值
xLine=Line(:,1);                                      %偏置曲线x值
yLine=Line(:,2);                                      %偏置曲线y值
k=diff(yLine)./diff(xLine);                           %一阶导数
kk=4*del2(yLine,xLine);                               %二阶导数
kk(end)=[];                                           %二阶导数最后一个值删除
r=((1+k.^2).^(3/2))./abs(kk);                         %曲线曲率半径
rmin=min(r);                                          %最小曲线曲率半径
knormal=-1./k;                                        %法线方向
knormal=atan(knormal);                                %转化为弧度
for i=1:length(knormal)                               %由于atan函数转化为弧度,范围在-2pi~2pi,为了把范围转化到0~2pi,把所有的负值加上piif  knormal(i)<0knormal(i)=knormal(i)+pi;end
end
%取两个离散点的中点向外偏置
xLinemid=diff(xLine)/2+xLine(1:end-1,:);
yLinemid=diff(yLine)/2+yLine(1:end-1,:);
xnewLine=xLinemid-detal.*cos(knormal);
ynewLine=yLinemid-detal.*sin(knormal);
newLine=[xnewLine,ynewLine];
end

觉得有帮助的朋友请点个赞支持博主^ - ^,谢谢大家

MATLAB求解叶型中弧线相关推荐

  1. 使用matlab绘制弧线,MATLAB求解叶型中弧线

    MATLAB求解叶型中弧线 MATLAB求解叶型中弧线 对于从事流体力学及相关行业的科研人员来说,中弧线这一名词一定耳熟能详,在日常的科研工作中可能会存在着求解某一特定叶型中弧线的需求.本文就简单介绍 ...

  2. 用Matlab求解高等数学中的问题(不定积分,定积分,多元微积分,微分方程,级数问题)

    用Matlab求解高等数学中的问题 一.求解不定积分 利用matlab符号工具箱中的求积函数int, 可求函数的不定积分,int函数的调用格式如下: int(S) int(S,v) 说明: (1)in ...

  3. 延迟微分方程(matlab求解)

    延迟微分方程数值解(matlab求解) 科学研究中,我们有时会碰到求延迟微分方程数值解的问题,本文探讨了如何用matlab软件求解延迟微分方程. 所谓延迟微分方程,指微分方程中信号不是同时发生的,除了 ...

  4. matlab 函数优化问题,matlab求解最优化问题 Matlab在最优化问题中的应用举例.doc

    matlab求解最优化问题 Matlab在最优化问题中的应用举例 导读:就爱阅读网友为您分享以下"Matlab在最优化问题中的应用举例"的资讯,希望对您有所帮助,感谢您对92的支持 ...

  5. matlab中用于离散系统求解的命令,MATLAB求解规划问题(线性规划, 整数规划, 非线性规划)...

    文章目录 基础知识 规划问题的数学模型的三个要素 解 线性规划Linear Programing 理论 示例 整数规划 理论 示例 非线性规划 理论 示例 生产实践中,经常会遇到很多资源分配的问题,如 ...

  6. MATLAB中输入微分方程dy表示,怎么用MATLAB求解如Dy = y+1/y 的微分方程

    怎么用MATLAB求解如Dy = y+1/y 的微分方程 关注:239  答案:2  mip版 解决时间 2021-01-28 19:40 提问者妳熄滅叻菸,説啓従偂 2021-01-27 19:41 ...

  7. 博弈论中的Stackelberg模型和库恩塔克条件如何通过Matlab求解或者数值分析?

    博弈论中的Stackelberg模型和库恩塔克条件如何通过Matlab求解或者数值分析? 下面是两个供应链成员的利润函数,其中p_c和p_b为决策变量,其余参数均在[0,1]之间.此外,b为领导者,c ...

  8. matlab有限差分法求解温度场,MATLAB在求解温度场中的应用

    IndustrialFurnace Vol.27 No.3 May2005 文章编号:1001-6988(2005)03 0032 04 MATLAB在求解温度场中的应用 李 萍,张 薇 (南京工业大 ...

  9. matlab中阶跃稳态时间怎么算,Matlab求解阶跃响应性能指标 (上升时间、调整时间、峰值峰值、超...

    Matlab求解阶跃响应性能指标 (上升时间.调整时间.峰值峰值.超 Matlab求解阶跃响应性能指标 (上升时间.调整时间.峰值峰值.超调量) Matlab求解阶跃响应性能指标 概述 阶跃响应性能指 ...

最新文章

  1. centos7 df 命令卡死
  2. hdu A Simple Math Problem
  3. powerdesigner2
  4. mysql数据库 day06
  5. actions vuex 请求_vuex中actions请求的数据提交给mutations,组件中获取到参数如何根据参数操作下面...
  6. Oracle集群时间同步
  7. 怎样手工清除autorun病毒
  8. Kubeadm部署单Master节点
  9. 提取爱词霸页面中的自定义信息
  10. 科学计算机上lg怎么打,科学计算器对数
  11. 戴维斯分校 计算机硕士,申请加州大学戴维斯分校计算机研究生的入学条件是什么?...
  12. 曙光服务器bios开启vt虚拟化,VT开启教程 BIOS开启VT方法
  13. 在ARM板上的linux系统中查看进程实际使用物理内存
  14. Lora、zigbee比较
  15. AngularJS 控制器中处理DOM事件
  16. 七种图像阈值分割技术
  17. Python之基础详解(十二):进阶,用pyecharts绘制世界地图、玫瑰图、雷达图
  18. 深度学习的主要应用举例
  19. 详解Java中的main方法
  20. ssm+JSP计算机毕业设计疫情救灾物资管理系统6pdz4【源码、程序、数据库、部署】

热门文章

  1. 没有摄像头的智能手机_为什么某些智能手机使用多个摄像头?
  2. 计算机系考研讲座ppt,公益讲座丨北大软微计算机初试400+学长分享备考心得!...
  3. linux驱动由浅入深系列:基于高通平台分析触摸屏(TP)、虚拟按键驱动
  4. 实现Android下的FPS实时显示工具
  5. 三维渲染工具Mitsuba使用简介
  6. 矢量设计软件大汇总,分享给大家
  7. 设计师需要学习的软件
  8. adroid studio 飞花令
  9. AI绘画,我们究竟该支持还是反对?
  10. 易基因项目集锦|易基因科技6篇SCI成果大公开,篇篇IF>5