博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《MATLAB智能算法超级学习手册》一一1.3 符号变量的应用
阅读量:6003 次
发布时间:2019-06-20

本文共 2011 字,大约阅读时间需要 6 分钟。

本节书摘来自异步社区出版社《MATLAB智能算法超级学习手册》一书中的第1章,第1.3节,作者:MATLAB技术联盟 , 高飞 , 许玢更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 符号变量的应用

MATLAB智能算法超级学习手册

符号变量在解决工程问题中的应用较多。对于一个工程问题而言,一般首先从变量出发,把问题用符号变量表示出来(得到符号矩阵),然后通过符号变量求解得到一般表达式,再根据该表达式,代入相应的初始条件,即可得到问题的具体的解。

本节主要从符号变量与实际生活实证分析出发,应用符号变量求解质点系转动惯量、油罐剩余油量体积和光的反射定理等问题。

1.3.1 质点系的转动惯量问题

已知在平面上的n个质点P 1(x 1,y 1),P 2(x 2,y 2),…,P n (x n ,y n),其质量分别为m 1,m 2,…,m n。请确定一个点P(x,y),使得质点系关于此点的转动惯量最小。
image

1.3.2 油罐剩余油量体积的求解**

油罐在一般的加油站均有应用。如何求油罐剩余油量的体积是一个亟待解决的问题。例如,如图1-9(a)所示,一平放的椭圆柱体形状的油罐,长度为L,椭圆的长半轴为a,短半轴为b,油的密度为ρ,问:当油罐中油的高度为h时,油量是多少?

解:由题意可知,该柱体在长度方向上是均匀的,故在此取该椭圆柱体的一横截面进行分析探讨,如图1-9(b)所示。

image

图1-9 椭圆柱油罐

假设椭圆柱体的横截面为标准的椭圆形,且椭圆柱体完好无损,放置平稳,外界干扰可忽略不计;椭圆柱体里油高为h的油面与所建坐标系上的椭圆柱体横截面相交,且一交点为A点,A点坐标为(x,y)。

image

该模型结果符合题目要求。程序如下:

>> syms a b h y Lm=sqrt(b^2-y^2);m1=int(m);m2=int(m,'-b','n')m2 = (b^2*asin(b/(b^2)^(1/2)))/2 + (b^2*asin(n/(b^2)^(1/2)))/2 + (n*(b^2 - n^2)^(1/2))/2>> m3=subs(m2,'n','y');>> S=2*a/b*m3;>> simplify(S)ans =a*b*(asin(b/(b^2)^(1/2)) + asin(y/(b^2)^(1/2))) + (a*y*(b^2 - y^2)^(1/2))/b>> V=S*LV =(2*L*a*((b^2*asin(b/(b^2)^(1/2)))/2 + (b^2*asin(y/(b^2)^(1/2)))/2 + (y*(b^2 - y^2)^(1/2))/2))/b>> V=2*a/b*(1/2*y*(b^2-y^2)^(1/2)+1/2*b^2*atan(y/(b^2-y^2)^(1/2)))*L;>> y=h-b;>> V1=subs(V,'y','h-b')V1 =-(2*L*a*((b^2*atan((b - h)/(b^2 - (b - h)^2)^(1/2)))/2 + ((b^2 - (b - h)^2)^(1/2)*(b - h))/2))/b>> simplify(V1)ans =- L*a*b*atan((b - h)/(b^2 - (b - h)^2)^(1/2)) - (L*a*(b^2 - (b - h)^2)^(1/2)*(b - h))/b>>

1.3.3 光的反射定理的论证

光的发射定理最早由费马提出(费马原理)光总是沿用时最短的光程传播。试根据这一原理利用极值的有关知识证明光的反射定律:入射角等于反射角。下文将借助于符号变量证明入射角等于反射角。

根据题意,光线的入射、反射过程可由图1-10直观地表示出来。在图1-10中,光线从1入射,反射到2点。

image

针对图1-10所示的光线反射路径图,假设一束自然光线沿路径L 10照射到x轴,y轴设为实物体表面,且为理想状态,光线传播过程中无阻碍,与法线y轴的夹角为θ 1;光线经实物体表面x轴反射后,沿路径L 02反射,与法线y轴的夹角为θ 2。由费马原理可得,路径L 10、路径L 02为直线;光线从1点到2点在坐标轴上的竖直方向上的投影相等,且为H;光在空气中传播的速度为光线在真空中传播的速度C;1点与2点之间的距离为定值I;光线从L 10到L 02所需时间为T。

image

>> syms H C K x>> T=(H/C)*((1/cos(x))+[1+(K-tan(x))^2]^(1/2));>> dfdx=diff(T,x)dfdx =H/C*(1/cos(x)^2*sin(x)+1/(1+(K-tan(x))^2)^(1/2)*(K-tan(x))*(-1-tan(x)^2))>> a=solve(dfdx,'x');>> tan(a)ans = 1/2*K 1/2*K

转载地址:http://jpcmx.baihongyu.com/

你可能感兴趣的文章
聊聊storm trident spout的_maxTransactionActive
查看>>
面向Vue新人:写一个简单的倒计时按钮
查看>>
关于手势处理
查看>>
super
查看>>
5G美洲白皮书:5G开源的现状(pdf)
查看>>
世界移动通信大会
查看>>
基于Spring Security Role过滤Jackson JSON输出内容
查看>>
从设计者的角度看 React
查看>>
js常见问题
查看>>
CentOS6系统编译部署LAMP(Linux, Apache, MySQL, PHP)环境
查看>>
海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践
查看>>
PAT A1043
查看>>
JavaScript之手写Promise
查看>>
PHP_SELF变量解析和重复路径解决
查看>>
git 命令行使用(基础篇)
查看>>
Vue笔记(五)——Token&生命周期
查看>>
《前端十年心路-我把一切告诉你》的书稿大纲&问题收集
查看>>
CSS居中总结大全
查看>>
Elasticsearch 参考指南(安装X-Pack)
查看>>
[LintCode] 604. Design Compressed String Iterator
查看>>