如何更改Matlab飞机航向INS仿真

发布时间 : 2020/10/20 19:22

除了苹果 Mac OS&reg ; X 操作系统上的 MATLAB R2013a (8.1) 及更低版本外,MATLAB 为全部操作系统都提供了一个特定版本的 JVM 软件。在 Mac OS X 系统上,MATLAB R2013a 及更低版本使用操作系统随带的 JVM 软件。 留意,只有指定版本的 JVM 软件才完全支持 MATLAB。在差别版本 JVM 下,有些组件大概无法正常工作。比方,在一个使用非默认版本 JVM 的 MATLAB 中创建的动态链接库,然后调用此中函数时,大概会导致出现分段违例(segmentation violation)错误。假如您选择变动 JVM 软件版本,则必须: 1. 下载和安装 JRE (Java Runtime Environment )要么 JDK (Java Development Kit )。后者包含了 JRE 以及开发工具。 2. 确认安装文件中 JRE 的路径。差别的操作系统,差别的下载组件(JRE要么JDK)所指的路径是差别的。(见下文) 3. MATLAB_JAVA 环境变量设置为此路径。(见下文) 4. 在设置此环境变量后,启动 MATLAB 。(见下文) Linux 要么 Mac 系统中,这个解决方法只应用与在 shell 窗口要么变动 MAT!LAB_JAVA 的环境变量的快捷键中启动 MATLAB。只是点击 MATLAB 图标并不能启用新的 Java。 * **MATLAB** 设置新的 ** Java * *Macintosh* _使用快捷键:_ 您可以下载附件 "createMATLABShortcut" 脚本,然后在 MATLAB 中运行这个脚本,以此来代替在 Terminal 中启动 MATLAB,以使用新的 Java。这个脚本会在桌面穿件一个带有新的 JRE 的 MATLAB 快捷键。JRE默认的路径是: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home 可以把新天生的快捷键拖到 Dock ,方便点击。 _使用__ Terminal: _ 假如您盼望用 Terminal 方法来设置新的 Java,根据以下的步骤: Finder 工具确认 JRE 路径。JRE 的路径大概是以下设置,依据您是安装了 JDK 还是 JRE: JDK: /Library/Java/JavaVirtualMachines/jdk1.7.0 _ 40.jdk/Contents/Home/jre JRE: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home 请注意,第二种环境, JRE 路径的包含了一个空格,你需要再以下下令中用引号包含路径。 打开一个 Terminal 窗口,然后实行下令: echo $SHELL 来确认使用的 Shell 信息。 假如是 csh 要么 tcsh shell,用 “setenv” 下令来设置 MATLAB_JAVA 环境变量。好比: setenv MATLAB_JAVA <JRE path> 每次打开一个新的 shell 窗口都要运行这个下令。 假如是 bash shell,实行: export MATLAB_JAVA=<JRE path> 这个设置只对当前打开的 shell 窗口起作用。 *Linux* JDK 要么 JRE 是在安装的路径下。JRE 的路径是安装目次根目次下的 “jre” 目次。 假如是 csh 要么 tcsh shell,用 “setenv” 下令来设置 MATLAB_JAVA 环境变量。好比: setenv MATLAB_JAVA <JRE path> 每次打开一个新的 shell 窗口都要运行这个下令。 假如是 bash shell,实行: export MATLAB_JAVA=<JRE path> 这个设置只对当前打开的 shell 窗口起作用。 *Windows* 根据操作系统,选择下载 32 位要么 64 JDK 要么 JRE。可以在 MATLAB 中运行以下下令确认操作系统信息: >> computer( arch ) JRE 是在报还“rt.jar"的文件目次的上层目次。好比,假如”jt.jar”位于: C:\Program Files\Java\jre6\lib\rt.jar 你需要设置 MATLAB_JAVA 环境变量为: C:\Program Files\Java\jre6 设置 MATLAB_JAVA 1. 点击开始菜单 2. 右击我的电脑,选择属性 3. 点击高级系统设置,然后点击环境变量按钮 4. 在系统环境变量栏中,设置要么添加 MATLAB_JAVA ,指向 JRE 的路径。 以上设置会在下一次开启 MATLAB 时起作用。 * 验证安装 * 为了验证 MATLAB 是否使用了准确的 JVM,在 MATLAB 中键入下令: >> version -java 假如表现 MATLAB 没有使用准确的 MATLAB_JAVA 内容,你大概需要登出系统,然后重新登录。 假如盼望返回到原有的 JRE 版本,以下的链接大概有效:

matlab中ins是什么

close all; clear all; clc; format long %初始化参数 %vx(1)=0.000048637; %vy(1)=0.000206947; %vz(1)=0.007106781; %初始速率 vx(1)=0; vy(1)=0; vz(1)=0; jd(1)=116.344695283*2*pi/360; L(1)=39.975172*2*pi/360; %初始经纬度 %B(1)=-91.637207*2*pi/360; %初始航向角 tian %C(1)=0.120992605*2*pi/360; %初始俯仰角 dong %D(1)=0.010445947*2*pi/360; %初始横滚角 bei %初始姿态角 B(1)=0; C(1)=0; D(1)=0; re=6378245; Wie=7.27221e-5; e=1/298.3; Ti=1/20; j=100; N=200; g=9.78049; Wibxb_INSc=randn(j,1); Wibyb_INSc=randn(j,1); Wibzb_INSc=randn(j,1);%陀螺在各个方向上丈量的数据 Fbx_INSc=randn(j,1); Fby_INSc=randn(j,1); Fbz_INSc=randn(j,1);%加速率计在各个方向上丈量的数据 for i=1:j Rx=re/(1-e*sin(L(1))^2); Ry=re/(1+2*e-3*e*sin(L(1))^2); T31=Fbx_INSc(i,1)/g*Ti; T32=Fby_INSc(i,1)/g*Ti; T33=Fbz_INSc(i,1)/g*Ti; T21=(Wibxb_INSc(i,1)-Ti*T31*Wie*sin(L(1)))/Ti*Wie*cos(L(1)); T22=(Wibyb_INSc(i,1)-Ti*T32*Wie*sin(L(1)))/Ti*Wie*cos(L(1)); T23=(Wibzb_INSc(i,1)-Ti*T33*Wie*sin(L(1)))/Ti*Wie*cos(L(1)); T11=T22*T33-T23*T32; T12=T23*T31-T21*T33; T13=T21*T32-T22*T31; Cbn=[T11 T12 T13;T21 T22 T23;T31 T32 T33];%粗瞄准后确定的姿态矩阵 Cnb=Cbn'; gnx=0; gny=0; gnz=g; gn=[gnx;gny;gnz];%3*1 gb=gn'*Cbn; %重力加速率在机体系的表现 1*3*3*3=1*3 Wien_x=0; Wien_y=Wie*cos(L(1)); Wien_z=Wie*sin(L(1)); Wien=[Wien_x;Wien_y;Wien_z];%3*1 Wieb=Wien'*Cbn; %地球自转角速率在机体系的表现 Wibb=[Wibxb_INSc(i,1) Wibyb_INSc(i,1) Wibzb_INSc(i,1)]';%陀螺输出的各个轴表现 Fb=[Fbx_INSc(i,1) Fby_INSc(i,1) Fbz_INSc(i,1)]'; %加速率计输出的各个轴表现 %Wibb'=Wien'*Cbn; %[Fbx_INSc(i,1) Fby_INSc(i,1) Fbz_INSc(i,1)]=-1*gn'*Cbn; %姿态角的盘算 if abs(Cnb(2,2))>1e-10 if Cnb(2,2)>0 B(i+1)=atan(Cnb(2,1)/Cnb(2,2)); elseif Cnb(2,1)>0 B(i+1)=atan(Cnb(2,1)/Cnb(2,2))+pi; else B(i+1)=atan(Cnb(2,1)/Cnb(2,2))-pi; end elseif Cnb(2,1)>0 B(i+1)=pi/2; else B(i+1)=-pi/2; end %求航向角 C(i+1)=asin(Cnb(2,3)); %求俯仰角 if abs(Cnb(3,3))>1e-10 if Cnb(3,3)>0 D(i+1)=atan(-Cnb(1,3)/Cnb(3,3)); elseif Cnb(1,3)>0 D(i+1)=atan(-Cnb(1,3)/Cnb(3,3))-pi; else D(i+1)=atan(-Cnb(1,3)/Cnb(3,3))+pi; end elseif Cnb(1,3)>0 D(i+1)=-pi/2; else D(i+1)=pi/2; end %求横滚角 vx(i+1)=(Fbx_INSc(i,1)+2*Wie*sin(L(1))*vy(i)+vx(i)*vy(i)*!tan(L(1))/Rx-2*Wie*cos(L(1))*vz(i)-vx(i)*vz(i)/Rx)*Ti+vx(i);%东向速率 vy(i+1)=(Fby_INSc(i,1)-2*Wie*sin(L(1))*vx(i)-vx(!i)*vx(i)*tan(L(1))/Rx-vy(i)*vz(i)/Rx)*Ti+vy(i);%北向速率 vz(i+1)=(Fbz_INSc(i,1)+(2*Wie*cos(L(1))+vx(i)/Rx)*vx(i)+vy(i)*vy(i)/Ry-g)*Ti+vz(i);%天向速率 %L(i+1)=vy(i)*Ti/Ry+L(i); %纬度 %jd(i+1)=vx(i)*Ti/(Rx*cos(L(i)))+jd(i); %经度 end t=0:0.1:j; %figure(1) %plot(jd,'r');xlabel('时间'),ylabel('经度'); %figure(2) %plot(L,'g');xlabel('时间'),ylabel('纬度'); figure(3) plot(vx,'b');xlabel('时间'),ylabel('东向速率'); figure(4) plot(vy,'b');xlabel('时间'),ylabel('北向速率'); figure(5) plot(vz,'b');xlabel('t'),ylabel('天向速率'); figure(6) plot(B,'b');xlabel('时间'),ylabel('航向角'); figure(7) plot(C,'g');xlabel('时间'),ylabel('俯仰角'); figure(8) plot(D,'r');xlabel('时间'),ylabel('横滚角');

matlab 替换品

编者注:本文最初于2016年6月公布,并进行了更新以提供您大概盼望思量的其他选项。

对于很多数学,物理科学,工程学,经济学以及其他范畴中包含大量数字成分的学生而言,MATLAB是他们初次对编程或科学盘算进行一样平常性介绍。

但是MATLAB是专有工具。 在无法访问其源代码的环境下,您对其工作方法以及修改方法的理解有限。 对于学术环境之外的很多人来说,这也太昂贵了,由于一份学术允许的费用大概高达数千美元。

荣幸的是,有很多很棒的开源替换方案。 根据您的确切目的,您大概会发现一个或更合适您的特定需求。 这里有三个要思量的问题:

GNU八度

GNU Octave 大概是MATLAB的最闻名替换品。 在快要三十年的积极发展中,Octave在Linux,Windows和Mac上运行,而且已打包用于大多数重要发行版。 假如您正在寻找一个尽大概靠近实际MATLAB语言的项目,Octave大概非常合适您; 它夺取准确的兼容性,因此为MATLAB开发的很多项目都可以在Octave中运行,而无需进行任何修改。

除了如今随版本4提供的默认设置外,Octave还提供了很多用于前端交互的差别选择。 有些比其他人更像MATLAB的界面。 Octave的 Wikipedia页面 列出了几个选项。

Octave是根据 GPL 允许的,可以在GNU 下载站点 上找到其源代码。

NumPy

NumPy 是使用Python进行科学盘算的重要软件包(顾名思义)。 它可以处置N维数组,庞杂矩阵变更,线性代数,傅立叶变更,而且可以充当C和C ++集成的网关。 它已被用于游戏和影戏视觉效果开发范畴,而且是SciPy Stack(基于Python的数学,科学和工程软件的生态系统)的基本数据阵列布局。 NumPy已得到 BSD允许证的允许 ,而且软件包可用于Linux,Windows和Mac OSX。

科学试验室

Scilab 是另一个用于数值盘算的开源选项,可在全部重要平台上运行:包括Windows,Mac和Linux。 Scilab大概是Octave之外最知名的替换方案,而且(如Octave一样)它的实现与MATLAB非常相似,尽管确切的兼容性不是项目开发职员的目的。

根据兼容GPL的 CeCILL 允许证,Scilab作为开源发行,其 源代码 可在项目网站上得到。

智者

SageMath 是另一个开源数学软件系统,对于那些寻求MATLAB替换产品的人来说大概是一个不错的选择。 它创建在种种基于Python的闻名科学盘算库的底子上,而且其自己的语言在语法上类似于Python。 它具有很多功能,包括下令行界面,基于browser的条记本,用于在其他文档中嵌入公式的工具,固然另有很多数学库。

SageMath可通过 GPL 允许得到,其源代码可在 项目网站 上找到。


此清单仅是研究职员和学生大概选择!用作MATLAB的开源替换品的工具的表面。 R,Julia,Python和其他尺度编程语言大概很合适您,详细取决于您的实际需求。 您大概要思量的其他一些开源工具包括:

  • Genius Mathematic Tool ,一个积极开发的盘算器程序和研究工具。 它是用实用于Linux和Unix盘算机的Genius扩展语言编写的,可在 GPL GNU 允许下得到。
  • Maxima 是MATLAB的另一个常常更新的替换方法。 它基于Macsyma(一种在1960年代由MIT!开发的“传奇盘算机代数系统”),可以在Linux,Mac OS X和Windows上进行编译,而且可以在 GPLv2 下使用。
  • SymPy ,另一个 BSD 允许的用于标记数学的Python库。 它可以安装在任何运行Python的盘算机上。 它旨在成为一个完备的盘算机代数系统; 有一个活泼的开发社区并定期公布; 并用于很多其他项目(包括上述的SageMath)。

您是否已使用这些工具或其他工具中的任何一种来替换MATLAB? 您更嘻歡哪一个?为什么? 在下面的评述中让我们知道。

翻译自: https://opensource.com/alternatives/matlab

matlab 替换品

本文网址: http://www.directapkdownloader.com/d/2020920201840_3388_2273107974/home