matlab求涡量,【求助】老师叫我们求NACA2310涡面元法的涡量系数,用MATLAB
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
总有问题,现附上信息:
N=100;
%线段份数
c=1;
%假设的弦长
x=0:c/N:c;
%x的取值范围
m=2/100;p=3/10;t=10/100;
%NACA2310的所包含的翼型数据信息
yc=zeros(1,N+1);
angle_of_attack=0;
U=10;
ux=U*cos(angle_of_attack);
uy=U*sin(angle_of_attack);
%这是攻角angle_of_attack和来流速度U
%ux,uy是水平来流u∞和竖直来流v∞,根据攻角求得
for i=1:N+1
if x(i)<=p*c
yc(i)=m*x(i)/p^2*(2*p-x(i)/c);
else
yc(i)=m*(c-x(i))/(1-p)^2*(1-2*p+x(i)/c);
end
end
%计算出翼型的中心线
%plot(x,yc);
%axis equal;
%xlabel('x');
%ylabel('y');
%上面是检验中心线是否正确
yt=zeros(1,N+1);
yt_dill=zeros(1,N+1);
th=zeros(1,N+1);
for i=1:N+1
yt(i) =t*c*(0.2969*(x(i)/c)^0.5 -0.126*(x(i)/c)^1 -0.3516*(x(i)/c)^2 +0.2843*(x(i)/c)^3 -0.101036*(x(i)/c)^4)/0.2;
yt_dill(i)=t*c*(0.2969*0.5*(x(i)/c)^(-0.5)/c-0.126*(x(i)/c)^0/c-0.3516*2*(x(i)/c)^1/c+0.2843*3*(x(i)/c)^2/c-0.101036*4*(x(i)/c)^3)/0.2/c;
th(i)=atan(yt_dill(i));
end
%计算翼厚yt,yt_dill是翼厚导数
%plot(yt,x); %检验yt的信息
figure;
plot(x,th);
for i=1:N+1
xu(i)=x(i)-yt(i)*sin(th(i));
xl(i)=x(i)+yt(i)*sin(th(i));
yu(i)=yc(i)+yt(i)*cos(th(i));
yl(i)=yc(i)-yt(i)*cos(th(i));
end
%上下翼型的函数
for I=1:N
XU(I)=(xu(I)+xu(I+1))/2;
YU(I)=(yu(I)+yu(I+1))/2;
%控制点为上边界时的中心点
XL(I)=(xl(I)+xl(I+1))/2;
YL(I)=(yl(I)+yl(I+1))/2;
%控制点为下边界时的中心的 %因为下面的积分的控制点是段的重点,所以控制点和段数的数量是相同的 %N个上控制点,N个下控制点
end
%定义上下边界的中点YU,YL
%————————————————上面是基础信息,不会错的
% plot(x,yc,'r',xu,yu,'b',xl,yl,'b');
% axis equal;
% xlabel('x');
% ylabel('y'); %画出上下边界线
% plot(x,yc,'r',XU,YU,'b',XL,YL,'b');
% axis equal;
% xlabel('x');
% ylabel('y'); %检验上下重点控制点的正确性
shuzu_xishu=zeros(2*N+1,2*N+1); %定义了系数数组,共2N+1,2n+1项
for i=1:N;
feiqicixiang(i)=-ux*YU(i)+uy*XU(i);
feiqicixiang(N+i)=-ux*YL(i)+uy*XL(i);
end
feiqicixiang(2*N+1)=0; %非齐次项的系数凑齐了,2N+1个
n=99;
%n是积分过程中用的总次数,就是把xu(i)到xl(i+1)中间分成99分,共100个点
for I=1:N %对上边界控制点的积分系数
for i=1:N %对控制点积分的点的移动
%上边界对上控制点的积分
ang=atan((yu(i+1)-yu(i)) / (xu(i+1)-xu(i)));
kuandu=(xu(i+1)-xu(i))/n;
x=xu(i) : kuandu : xu(i+1);
jifen_u=0;
for k=1:n+1
y(k)=log(((x(k)-XU(I))^2+((yu(i)+(x(k)-xu(i))*tan(ang))-YU(I))^2)^(1/2))/cos(ang); %积分的内容,yu(i)=yu(i)+(x-xu(i))*tan(ang)
jifen_u=y(k)*kuandu+jifen_u;
end
shuzu_xishu(I,i)=jifen_u/(2*pi);
%下边界对上控制点的积分
ang=atan((yl(i+1)-yl(i)) / (xl(i+1)-xl(i)));
kuandu=(xl(i+1)-xl(i))/n;
x=xl(i) : kuandu : xl(i+1);
jifen_u=0;
for k=1:n+1
y(k)=log(((x(k)-XU(I))^2+((yl(i)+(x(k)-xl(i))*tan(ang))-YU(I))^2)^(1/2))/cos(ang); %积分的内容,yu(i)=yu(i)+(x-xu(i))*tan(ang)
jifen_u=y(k)*kuandu+jifen_u;
end
shuzu_xishu(I,i+N)=1/(2*pi)*jifen_u; %对上控制点N的积分已经好了,现在赋值到系数数组里面
end
end
for I=1:N %对于下边界控制点的积分,I是下控制点的移动
for i=1:N %i是对下控制点积分的点的移动
%上边界对下控制点的积分
ang=atan((yu(i+1)-yu(i)) / (xu(i+1)-xu(i)));
kuandu=(xu(i+1)-xu(i))/n;
x=xu(i) : kuandu : xu(i+1);
jifen_l =0;
for k=1:n+1
y(k)=log(((x(k)-XL(I))^2+((yu(i)+(x(k)-xu(i))*tan(ang))-YL(I))^2)^(1/2))/cos(ang); %积分的内容,yu(i)=yu(i)+(x-xu(i))*tan(ang)
jifen_l=y(k)*kuandu+jifen_l;
end
shuzu_xishu(I+N,i)=1/(2*pi)*jifen_l;
%下边界对下控制点的积分
ang=atan((yl(i+1)-yl(i)) / (xl(i+1)-xl(i)));
kuandu=(xl(i+1)-xl(i))/n;
x=xl(i) : kuandu : xl(i+1);
jifen_l =0;
for k=1:n+1
y(k)=log(((x(k)-XL(I))^2+((yl(i)+(x(k)-xl(i))*tan(ang))-YL(I))^2)^(1/2))/cos(ang); %积分的内容,yu(i)=yu(i)+(x-xu(i))*tan(ang)
jifen_l=y(k)*kuandu+jifen_l;
end
shuzu_xishu(I+N,i+N)=1/(2*pi)*jifen_l; %对下控制点N的积分已经好了,现在赋值到系数数组里面
end
end
matlab求涡量,【求助】老师叫我们求NACA2310涡面元法的涡量系数,用MATLAB相关推荐
- matlab累加数组的前n行,有一组m行n列的数组,在matlab中如何编程,每三个数求一次平均数(行与列分别求)?...
有一组m行n列的数组,在matlab中如何编程,每三个数求一次平均数(行与列分别求)? 关注:216 答案:3 手机版 解决时间 2021-03-05 21:45 提问者繁华落尽 2021-03- ...
- 学习Matlab的第一个程序——用二分法求根
学习Matlab的第一个程序--用二分法求根 问题描述 matlab代码 遇到的一些问题和心得体会 问题描述 对于一个给定的方程f(x)=0和零点的大致区间(a,b),用二分法将区间(a,b)缩小,当 ...
- matlab求五元多次函数最值,matlab求最值(极值)
这里有必要介绍下内联函数,c++也有,应该说好多编程语言都有. 抄来一段: 在matlab命令窗口.程序或函数中创建局部函数时,可用inline.优点是不必将其储存为一个单独文件.在运用中有几点限制: ...
- 数学实验8 用matlab软件求级数的和_函数的泰勒级数和傅氏级数,数学实验8用matlab软件求级数的和函数的泰勒级数和傅氏级数.pdf-资源下载蚂蚁文库...
数学实验8 用matlab软件求级数的和函数的泰勒级数和傅氏级数.pdf 数学实验八用Matlab软件求级数的和.函数的泰勒级数和傅氏级数一.求级数的和在Matlab中,可用symsum函数求数列或级 ...
- matlab求下列表达式的值,编程求下列表达式的值
typedef D. _123 2.下列表达式的值哪些不等于 0? A. 2&g... #define M 5 main() { int n,c; n=2; c=M*n; 精彩文档 print ...
- 迭代法求平方根 MATLAB,用迭代法的思想 给出求根号(2 根号(2 根号(2 根号2)))的迭代格式...
用牛顿迭代法 求方程 2*x*x*x-4*x*x+3*x-6 的根 先去看看计算方法学习一下"牛顿迭代法"吧,不然就算懂了这个小程序也意义不大,真的 用C语言编程求牛顿迭代法求方程 ...
- matlab求矩阵违逆,两种求矩阵伪逆的方法
伪逆矩阵是逆矩阵的广义形式.由于奇异矩阵或非方阵的矩阵不存在逆矩阵,但在matlab里可以用函数pinv(A)求其伪逆矩阵.基本语法为X=pinv(A),X=pinv(A,tol),其中tol为误差, ...
- matlab求两向量夹角_【求精干货】高中数学知识点总结归纳高一学生必须掌握
高中数学高考知识点总结高一必高中数学高一的学生离高考还有两年的时间,别看这两年感觉很长,其实时间一晃就过了,高中数学学习成绩不太好的同学该加油好好学习了.别等到最后一年累死累活的搞,还不一定有效果,今 ...
- MATLAB—离散一元、二元、多元函数求导求梯度(二维、三维、多维空间)(diff和gradient)
(离散)一元函数求导-二维 已知同维度的x和y序列,则可使用diff(y)./diff(x)来估算.设x为n维向量,Dx=diff(x),计算向量x的向前差分,DX(i)=X(i+1)-X(i),0& ...
最新文章
- 线段树扫描线求矩形周长详解
- nRF52832的UICR
- 关于matlab中princomp的使用说明讲解
- 获取需要登陆才能被访问的页面,HttpClient(扩展HttpWebRequest)来实现
- SAP WebIDE里本地运行Fiori应用后,会自动生成一个新的Destination
- Linux学习笔记--导航(CentOS 7)
- linux 权限rwx(4,2,1)详细说明
- JavaMail:邮件发送以及sina、163、QQ服务器不同的解析结果(附图)
- 流畅的Python笔记
- [Qualcomm][Audio] 高通Audio Bringup Guide
- win8服务器备份在哪个文件夹,iPhone备份文件在哪里?Win8系统路径介绍
- Android Studio插入图片
- 捍卫者usb管理控制系统_捍卫效用优先CSS
- Linux安装lrzsz
- vue 项目, 父组件中每次点击按钮重新加载子组件,(重新生成dom 元素)
- 自建Ceph存储与 AWS、阿里云、腾讯云的成本对比
- 知到网课大学生心理健康教育考试试题|真题题库(含答案)
- VMware Workstation Pro 修改显示语言
- python编写一个函数判断一个数是否为素数是则返回yes_编写函数,判断一个整数是否为素数,并编写主程序调用该函数。_学小易找答案...
- [零基础学python]关于循环的小伎俩
热门文章
- 谷歌地图位置偏移_如何使用Google地图与他人临时分享您的位置
- unity3d钢琴游戏完整项目源码
- Android手游 “2048” 源码解析
- expected at least 1 bean which qualifies as autowire candidate for this dependen
- caffe net.blobs: net.params作用
- pytorch-词向量进阶
- 分享20款漂亮免费英文LOGO字体
- php 枚举类代替hard code代码
- 阿里云:通过设置白名单解决因误判IP被拦截问题
- STM32-蓝桥杯嵌入式之三行按键检测(按键的长、短,单击、双击)