安下载(俺下载):打造放心的绿色安全下载站! 安下载首页|软件分类|最近更新

所在位置: 首页  >  电脑软件  >  行业软件  >  辅助设计 > Altair Compose 2019补丁 附带安装教程
Altair Compose 2019补丁

Altair Compose 2019补丁

 附带安装教程
  • 软件大小:10.25 MB
  • 更新日期:2020-06-16 10:01
  • 软件语言:简体中文
  • 软件类别:辅助设计
  • 软件授权:免费版
  • 软件官网:
  • 适用平台:WinXP, Win7, Win8, Win10, WinAll
  • 软件厂商:

6
软件评分

本地下载文件大小:10.25 MB

软件介绍 人气软件 下载地址

为您推荐: 行业软件

  Altair Compose2019补丁是一款针Altair Compose2019系列而开发的文件,它能够直接将原程序进行激活,整个过程就是一个替换文件那么简单,没有任何复杂的操作;它的推出可以让更多用户的可以享受到免费使用原程序,从此告别高昂费用的支出;新版本支持IDE编程,在撰写集成开发环境提供可用于编写和调试操作的工具;提供编辑工具,可以使用编辑器创建或打开脚本文件以进行创作和执行;提供项目浏览器,该项目浏览器将显示在分层树当前会话内容中所有打开的文件和图表;优化了OML命令窗口,在OML用于窗口来输入,执行和显示的执行撰写语言命令,它还显示从编辑器执行脚本时生成的打印命令输出;更新了文件浏览器,该文件浏览器可用于浏览文件夹的内容,添加新文件,并删除现有的;支持命令历史记录窗口,命令历史记录窗口按日期显示自上次完全擦除以来在命令窗口中输入的所有命令;需要的用户可以下载体验

Altair Compose 2019补丁

新版功能

  1、绘图和可视化

  有用的2D和3D图形提供了更为丰富的计算和数据见解。

  2、多语种数学环境

  基于开放矩阵语言(OML),它还与Octave和Python兼容。

  3、内置CAE数据读取器

  它使CAE工具(比如FEA,CFD等)的输入和输出数据的导入,可视化和操作变得十分简单(和快速)。

  4、数字计算

  数百种强大的数学运算和内置函数 - 用于从超简单到超复杂的计算。

  5、流程自动化和脚本

  在频繁重复计算或简化常见过程时尤其方便。还包括一个有用的调试功能。

  6、一体

  具有集成开发环境(IDE)的单个产品。 无需单独的工具箱和额外成本。

  7、内置CAE数据读取器

  使得导入,可视化和操作CAE工具(如FEA,CFD等)的输入和输出数据变得非常简单(和快速)。

软件特色

  演示浏览器

  显示安装中存在的演示文件(OML,Python和 Tcl脚本)。

  变量浏览器

  所述可变浏览器显示与他们的值,类型,以及范围沿所有工作空间的变量。

  物业编辑

  的 在“ 项目浏览器”中显示有关当前所选项目的各种信息。

  地块面积

  通过从OML 命令窗口或OML脚本内部执行绘图命令来创建绘图(2D或3D绘图)。

  绘图显示在位于“编辑器”区域右侧的专用区域中。

  网格视图/矩阵版区域

  可以从变量浏览器访问矩阵。

  书签窗口

  书签窗口列出了项目中的所有书签。每个书签都与其主机文件和行号一起列出。

  撰写菜单

  撰写包含五个菜单:文件,编辑,视图,工具和调试。

安装步骤

  1、用户可以点击本网站提供的下载路径下载得到对应的程序安装包

Altair Compose 2019补丁

  2、只需要使用解压功能将压缩包打开,双击主程序即可进行安装,弹出程序安装界面

Altair Compose 2019补丁

Altair Compose 2019补丁

  3、同意上述协议条款,然后继续安装应用程序,点击同意按钮即可

Altair Compose 2019补丁

  4、可以根据自己的需要点击浏览按钮将应用程序的安装路径进行更改

Altair Compose 2019补丁

  5、弹出以下界面,用户可以直接使用鼠标点击下一步按钮

Altair Compose 2019补丁

  6、现在准备安装主程序,点击安装按钮开始安装

Altair Compose 2019补丁

  7、弹出应用程序安装进度条加载界面,只需要等待加载完成即可

Altair Compose 2019补丁

  8、根据提示点击安装,弹出程序安装完成界面,点击完成按钮即可

Altair Compose 2019补丁

方法

  1、程序安装完成后,先不要运行程序,打开安装包,然后将文件夹内的文件复制到粘贴板

Altair Compose 2019补丁

  2、然后打开程序安装路径,把复制的文件粘贴到对应的程序文件夹中替换源文件

Altair Compose 2019补丁

  3、完成以上操作步骤后,就可以双击应用程序将其打开,此时您就可以得到对应程序

Altair Compose 2019补丁

使用说明

  读取ASCII文件

  在Compose OML中,有几种读取ASCII文件的方法。您可以一次全部读取,也可以逐行读取文件,也可以通过为数据字段指定格式来读取文件。您可以选择最合适的方式。本教程演示了如何阅读这些方法。

  读取ASCII文件的所有内容。

  您可以使用类型功能来显示指定文件的内容。您无需打开和关闭文件,如下例所示:

  content = type('read1.txt');

  disp(content{1,1})

  您可以在

  在“ 编辑器”或“ OML命令”窗口中运行此脚本。

Altair Compose 2019补丁

  这是检查ASCII文件内容的简单方法。

  逐行读取ASCII文件。

  当文件很大且包含多行,并且应用程序要求您处理特定的行或字符串时,逐行读取文件可能会更有效:

  file = 'read1.txt';

  fid = fopen(file,'rt');

  counter = 0;

  % read file line by line

  while ~feof(fid)

  counter = counter + 1;

  line = fgetl(fid);

  sprintf('line %d in %s: %s',counter,file,line)

  end

  fclose(fid);

  返回:

Altair Compose 2019补丁

  如果要从文件读取数据,则必须首先将其打开。这是通过在“ 编辑器”窗口中使用fopen('/ Path / to / File')来完成的:

  fid = fopen('read1.txt','rt');

  这将文件ID分配给变量fid,以后可以引用该变量。fopen的第二个输入是要使用的选项。在这种情况下,请使用rt进行读取,这意味着将以文本模式读取文件。fgetl(fid)函数返回文件fid中的整个行内容。 feof(fid)用于确定fid是否遇到文件结尾。

  其他测试可用于停止读取文件。请参阅教程Compose-3015了解更多信息。

  使用fscanf读取具有格式化字段的ASCII文件。

  有时,ASCII格式的数据会以特定格式保存。函数fscanf可以处理这种情况。首先,必须创建一个文件:

  fid = fopen('read2.txt','wt');

  fprintf(fid,'%4s %8s\n','node','displacement');

  for i = 1:100

  fprintf(fid,'%4d %8s\n',i,num2str(rand*10));

  end

  fclose(fid);

  打开在OML中创建的read2.txt,您会注意到格式如下:

Altair Compose 2019补丁

  尝试使用fscanf读取此文件:

  fid = fopen('read2.txt','rt');

  fseek(fid,18);

  A = fscanf(fid,'%d %f\n',[2 inf]);

  fclose(fid);

  disp(A')

  在编辑器窗口中运行该脚本; 结果显示在OML Command窗口中:

Altair Compose 2019补丁

  请注意,保存在matrix中的结果A'与刚才保存在read2.txt中的结果相同。要分解此脚本:

  fseek(fid,18)用于更新文件指针,以便跳过read2.txt中的第一行。

  fscanf(fid,'%d%f \ n',[2 inf])使用format匹配具有两行和尽可能多的列的矩阵‘%d %f\n’。

  使用textread 函数读取带格式字段的ASCII文件。

  您还可以使用textread来完成与fscanf相同的任务 ,如下例所示:

  file = 'read2.txt';

  [A,B] = textread(file,'%d %f','headerlines',1);

  out = [A,B];

  disp(out)

  结果是:

Altair Compose 2019补丁

  textread()的第二个输入参数指定格式,而第三个和第四个输入参数使您跳过read2.txt的第一行(一个标题行)。

  写入文件

  注意:如果Compose安装在受限制的目录中,则无法执行写命令。建议在用户目录或具有写许可权的任何目录中执行本教程。

  简单的例子

  要使用fprintf写入ASCII文件,请首先如前所述打开文件,而要使用以下代码以写入模式而不是读取模式打开文件。

  fname = 'read3.txt';

  fid = fopen(fname, 'wt');

  fprintf(fid, 'Hello World');

  fclose(fid);

  此输出'Hello World'到文件 read3.txt,第二输入参数 的fopen “重量”手段写入文本文件模式。请注意, fwrite用于写入二进制文件而不是ASCII文件。

  保存矩阵。

  在本教程中,您学习了如何使用fscanf将具有特殊格式的浮点标量保存在具有格式化字段的ASCII文件中 。将矩阵保存到ASCII文件如下所示:

  % write matrix in read4.txt

  x = [0:0.1:2*pi];

  y = [x',sin(x)'];

  fid = fopen('read4.txt','wt');

  fprintf(fid,'%8s %8s\n','X','Y')

  for i = 1:size(y,1)

  fprintf(fid,'%f %f\n',y(i,1),y(i,2));

  end

  fclose(fid);

  本示例说明如何将矩阵保存到ASCII文件。评估此脚本后,请在read4.txt中查看结果 :

Altair Compose 2019补丁

  请注意,将矩阵保存在ASCII文件中时,精度可能会下降。最好将其保存为二进制文件或使用OML中的“ 保存/加载” 功能。

  定义目标变量

  开始撰写。

  在新的脚本中,键入以下命令,将文件路径调整为文件的适当位置。向量nodeList包含要读取x,y,z坐标的节点ID。然后,该列表将按数字升序排序。矩阵nodesInfo被初始化为适当的大小,以包含所有请求的数据。

  fileName=‘/truck.key’;

  nodeList = [1, 211, 57, 5];

  nodeList = sort(nodeList);

  nodeInfo = zeros(length(nodeList),3);

  创建通用结构以读取文件

  下面的代码段打开一个文件以供读取,一次读取该文件一行直到文件结束,然后关闭该文件。while循环中的主体当前仅包含读取文件下一行的指令,它包含在每一行要执行的命令集。以下步骤介绍了要添加的命令,但是此处提供的代码段足以读取任何文件。将这些行添加到脚本中,运行文件,并检查显示的消息,表明已成功完成。

  [fid, message] = fopen(fileName, 'r');

  line = fgetl(fid);

  while ~feof(fid)

  line = fgetl(fid);

  end

  disp('Finished reading the file')

  添加控件结构以解析数据线

  输入文件结构包含所谓块格式的节点数据。数据块由特定的关键字指示(‘*’以LS-DYNA中的字符开头 ),并且数据在后续行中跟踪,直到遇到另一个关键字为止。节点数据以关键字* NODE开头。在节点数据块中,每行包含给定节点的信息:该行中的前八个字符包含节点ID,接下来的三个16个字符组分别包含xyz坐标。要添加的第一个逻辑控件是确定阅读器当前是否位于* NODE块。为此,将创建一个布尔变量nodeOn,以测试最近读取的关键字是否为 * NODE。首先,定义默认值为false的变量。在while控制块之前,键入以下命令:

  nodeOn = false;

  在while块中和read命令之前,添加控件以测试此布尔变量的状态。nodeOn的值 开始false。true当前行包含文本* NODE时, 状态更改为。有关字符串find命令的更多详细信息,请参见《参考指南》中的strfind主题。但是,对于此示例,足够注意的是,如果搜索失败,该命令将返回一个空值。

  if nodeOn == true

  %process node data line

  else

  search = strfind(line,'*NODE')

  if ~isempty(search)

  nodeOn = true;

  end

  end

  处理并存储请求的节点数据

  在处理块中的数据行时node,必须处理三种可能的情况:(1)跳过由表示的注释行‘$’,(2)如果行上的数据是关键字,则标识块的结尾指示新块的开始,并且(3)处理一行节点数据。请注意,当(1)和(2)为假时,要求情况(3)。放置在该nodeOn == true块中的以下代码段可以正确处理上述三种情况。

  search=strfind(line,’$’);

  if ~isempty(search)

  line = fgetl(fid);

  continue;

  end

  search = strfind(line,'*');

  if ~isempty(search)

  nodeOn = false;

  else

  %proper node line

  End

  在处理节点线时,第一步是确定ID。该信息包含在该行的前八个字符中,可以使用loop命令将其提取。请注意,此命令返回一个字符串,并且您需要使用str2num函数将数据类型强制为数字。然后,可以使用命令eq函数对照向量nodeList中包含的请求的ID列表对该ID进行测试,该函数返回一个0的向量(false)和1的向量(true)表示每个条目的相等性。向量中的任何1(可以快速求和)表示请求了当前节点ID。输入以下代码段以将此逻辑添加到脚本中:

  node = str2num(line(1:8));

  boolean = eq(nodeList,node);

  if sum(boolean) > 0

  %store this node’s data

  end

  最后,如果节点具有请求的ID,则以下代码可以从x,y和z坐标字段中提取数据并将其存储在矩阵中 nodeInfo。添加以下行,保存脚本,然后运行它。将存储的值nodeInfo与文本文件中的数据进行比较。

  x = str2num(line(9:24));

  y = str2num(line(25:40));

  z = str2num(line(41:56));

  for ix = 1:length(nodeList)

  if boolean(ix) == 1

  nodeInfo(ix,:) = [ x, y, z];

  end

  end

  使用readvectorbuilder观察层次结构

  readvectorbuilder是一个实用工具,可读取Compose支持的CAE结果/数据文件。它可以帮助您创建正确的 readvector()和readmultvectors() 命令。该工具将打开readvector实用程序对话框,该对话框可用于选择结果文件并导航到所选文件中包含的子案例,时间步长,类型,请求和组件。做出选择并选择Print后,适当的OML 命令(使用readvector或 readmultvectors 命令)。

  跨所有时间步骤读取值。

  在“ 撰写 编辑器”或“ OML命令”窗口中,运行 readvectorbuilder命令。

  显示以下对话框:

Altair Compose 2019补丁

  在“文件路径”字段中,选择

  “子案例”字段处于非活动状态,这意味着所选文件没有任何子案例。

  对于“时间步长”,选择“ 全部”,这表示“ 撰写”跨所有时间步长读取值。

  要查看文件的结构的类型,请求和组件选项,请单击相应框的下拉列表:

Altair Compose 2019补丁

  激活“将数据作为字符串插入”并 激活“ 生成readvector”命令(如果可能) 。

  选择类型,请求和组件选项,如下所示,然后单击 对话框右下角的“ 打印 ”以生成相应的命令:

Altair Compose 2019补丁

  在选定的时间步读取多个请求和组件。

  继续使用上一个示例中的ANGACC文件。

  从“时间步长”下拉菜单中,选择0(秒)作为示例的“时间步长”。

  请求结束和组件结束列将从无效变为活动。将它们设置为“ 50%Hybrid3-UPPER TORSO”和“ Y- comp。acc。acc 。”。, 分别。

  取消激活“ 以字符串形式插入数据”,并 在可能的情况下使用“生成readvector”命令 。

  单击打印以生成此OML命令:

Altair Compose 2019补丁

  readmultvectors('

  在“ OML命令” 窗口中运行此命令,使用readvector读取CAE数据

  在第二个练习中,您将设计移动平均滤波器,并过滤从CAE文件读取的数据。

  绘制原始数据

  在readvectorbuilder中 打开文件ANGACC

  选择以下内容:

  对于类型,选择“角加速度”

  将请求开始定义为“ 50%Hybrid3-LOWER TORSO”

  将组件开始定义为“ Res。ang。acc。”

  停用将数据作为字符串插入,并在可能的情况下激活“ 生成readvector”命令

Altair Compose 2019补丁

  点击打印在右上角 readvectorbuilder对话框生成 OML命令:

  readvector('

  注意:尽管可以使用索引(整数)或字符串(名称)生成命令,但强烈建议使用“将数据作为字符串插入”来生成命令。

  以下两个命令是等效的:

  readvector('\tutorials ANGACC',2,1,1)

  readvector('\tutorials ANGACC','Angular

  Acceleration','50th% Hybrid3 - LOWER TORSO','Res. ang. acc.')

  在Compose中执行这些命令将产生如下图所示:

  y = readvector(

  plot(y);

Altair Compose 2019补丁

  设计一个简单的移动平均滤波器。

  可以 使用filter 命令在Compose中实现简单的移动平均线:

  % moving average filter

  b = 0.2*ones(1,5);

  a = 1;

  output = filter(b,a,input);

  比较原始数据和过滤后的结果。

  使用以下脚本绘制并检查从ANGACC文件提取的原始数据与过滤后的数据之间的差异:

  y = readvector('ANGACC',2,1,1);

  plot(y,'g--');

  % moving average filter

  b = 0.2*ones(1,5);

  a = 1;

  y2 = filter(b,a,y);

  hold on;

  plot(y2,'r:');

  legend('Original data','Filtered data');

  title('readvector Demo');

  xlabel('Time(ms)');

  ylabel('Angular Acceleration(rad/s2)');

  该图如下所示:

Altair Compose 2019补丁

  使用readmultvectors读取CAE数据

  您可能希望在特定的时间步跨连续的请求和组件读取特定类型的数据向量。这可以通过readmultvectors函数来实现 。在此示例中,您将读取整个CAE文件,然后提取数据。如果将文件传递给 readmultvectors,它将以以下格式返回包含文件中所有信息的单元格:

  第一列包含类型

  第二列包含请求

  第三列包含组件

  第四列包含由相应的前三列中的信息指定的数据向量。

  每行包含一个不同的数据集。然后,您可以使用提取功能随后提取感兴趣的数据。

  例如:

  function y = SMA(x)

  b = 0.2*ones(1,5);

  a = 1;

  y = filter(b,a,x);

  end

  filePath = '\tutorials\ANGACC';

  y = readmultvectors(filePath);

  % extract interested data then do the moving average filtering

  y_LT1 = SMA(extract(y,'Angular Acceleration','50th% Hybrid3 -

  LOWER TORSO','Res. ang. acc.'));

  y_LT2 = SMA(extract(y,'Angular Acceleration','50th% Hybrid3 -

  LOWER TORSO','X-comp. ang. acc.'));

  y_LT3 = SMA(extract(y,'Angular Acceleration','50th% Hybrid3 -

  LOWER TORSO','Y-comp. ang. acc.'));

  y_LT4 = SMA(extract(y,'Angular Acceleration','50th% Hybrid3 -

  LOWER TORSO','Z-comp. ang. acc.'));

  x = extract(y,'Time','Time','Time');

  % do the plot

  plot(x,y_LT1,x,y_LT2,x,y_LT3,x,y_LT4);

  xlabel('Time(ms)');

  ylabel('Angular Acceleration(rad/s2)');

  title('50th% Hybrid3 - LOWER TORSO');

  legend('Res. ang. acc.','X-comp. ang. acc.','Y-comp. ang.

  acc.','Z-comp. ang. acc.');

  该脚本生成以下图:

Altair Compose 2019补丁

  从此文件提取多个数据的示例可以在 /tutorial/readvector_demo.oml中的OML脚本中 找到。

  执行脚本将生成以下图:

Altair Compose 2019补丁

  在Compose中运行控制台模式

  除了以前的教程中介绍的图形化交互模式外,也可以在控制台模式下使用。控制台模式基本上是一种非图形模式,可在外壳程序中公开OML命令提示符。

  从此提示符下,可以执行所有受支持的OML命令,但所有与GUI相关的命令(例如绘图)除外。

  要在控制台模式下打开Compose,请转到所有程序>

  将打开一个以Composer应用程序在控制台模式下运行的命令窗口,如下所示:

Altair Compose 2019补丁

  从这里,所有命令(与绘图相关的命令除外)都可用。在提示符下键入任何命令,然后按Enter以立即对其进行评估。

Altair Compose 2019补丁

  您也可以使用运行功能在控制台模式下运行脚本或功能文件 。

  假设在D:/ Test下存在 一个名为myscript.oml的脚本,并且包含以下命令:

  M1 = rand(5,5);

  disp(M1)

  在控制台模式下运行此命令,然后检查结果:

Altair Compose 2019补丁

  在控制台模式下运行OML命令/脚本

  通过从标准外壳将命令或脚本传递到应用程序,也可以使用上述控制台模式。

  从Windows“开始”菜单中,选择“运行”,键入 cmd,然后按 Enter。

  这将启动Windows命令提示符。使用命令提示符在Compose中运行 OML命令,脚本文件或两者的组合。

  在命令提示符下,输入以下内容(将替换 为您的实际安装位置),然后按Enter键。

  cd \

  这会将目录更改为安装中 Compose_Console.bat文件所在的位置。

  有关Compose_Console.bat参数的简短帮助,请在命令提示符下键入以下内容:Compose_Console.bat –help

  -e执行OML命令,然后退出。

  -f foo.oml加载并执行名为foo.oml的OML脚本。

  -帮帮我提供受支持的可选参数列表。

  -版给出Compose的版本。

  可以使用–e选项直接执行OML命令 。在 Compose_Console.bat命令之后,键入–e "Any valid OML command"。例如:

  Compose_Console.bat –e disp(rand(3,3))

  这将在命令提示符下打印一个3x3矩阵:

  使用引号可以运行多个命令和/或包含空格的命令。

  可以使用–f选项直接执行OML脚本 。在.bat 命令之后,键入MatrixDemo.oml–f文件的路径 。外观应如下所示:

  Compose_Console.bat –f <安装目录> \ tutorials \ MatrixDemo.oml

  按ENTER运行该文件。注意所有输出如何显示在命令提示符下。另外,输出与评估脚本文件时在OML Command窗口中的Compose中显示的输出相同。

  将参数传递给脚本

  有时,参数可能需要以批处理方式传递到脚本文件或函数中。这可以通过同时使用–f和 –e 参数来实现:

  Compose_Console.bat –e input arguments –f script.oml

  您可以在–e和 –f之间定义输入参数,然后它们将被继承到脚本中。运行以下示例:

  Compose_Console.bat –e t=[0:0.1:20];initial=[0;0]; –f

  \tutorials\ode45_noplot.oml

  脚本文件ode45_noplot.oml位于 / tutorials /下。请注意,如果直接在Compose GUI中运行脚本文件,它将提示未定义变量 t和initial。批量运行正确的命令时,请查看结果:

  将输出保存到文件

  继续前面的示例,并> output.txt在上一个命令的末尾添加:

  Compose_Console.bat –e t=[0:0.1:20];initial=[0;0]; –f

  在–f之后,列出了两个文件的路径。在这两个文件之后,有一个>,其中列出了另一个文件。这表明以前文件的输出应导出到该文件。该文件必须位于具有写访问权限的文件夹中。

  按ENTER以批处理模式运行文件。这次,没有任何输出写入命令提示符:

  在文本编辑器中打开文件output.txt。此文件包含以批处理模式运行的ode45_noplot.oml脚本的输出:

  在批处理模式下运行Tcl脚本

  除了上述的控制台模式外,还可以通过将命令或脚本从标准外壳传递给应用程序的方式,在“真”批处理模式下使用Compose。

  Compose还支持以完全批处理模式运行脚本。批处理模式可以使用* .bat文件执行,该文件位于:

  使用–f 参数传递要执行的脚本的名称,与控制台模式相同。

  Compose还支持多种语言。要批量运行 Tcl脚本,请输入以下内容:

  查看以批处理模式运行basic.tcl的结果:

  basic.tcl可以在

  解方程的线性系统

  要求解Ax = bx 的线性方程组,请\直接使用 或mldivide函数,该函数将返回相同的结果。内部选择的算法取决于矩阵A。

  如果A方程式少于未知数,则系统处于不确定状态,行数少于列数,并且解决方案不是唯一的。计算结果是具有最小范数的最小二乘解

  如果A是奇异矩阵,则会引发警告:

  要求解Ax = b,如果您具有矩阵的先验知识 A(下三角,正定数,大矩形等),则可以选择linsolve 函数来提高计算效率。基本上, linsolve的工作原理完全相同\,但是它有一个额外的输入参数来指定matrix的特征 A。

  Ax = b已解决,但您可能要解决xA = b。在这种情况下,/或者 mrdivide函数可以与上一节中的逻辑相同使用。

  基本矩阵分析

  本节介绍两种矩阵分析案例,一种具有矩阵求逆,另一种具有特征值和特征向量。

  计算矩阵的逆。

  当矩阵是正方形且不是奇数时,可使用inv 函数计算逆

  在四舍五入误差之内,请观察到以上inv(inv(M))等于 M。但是当 M不是正方形或奇异矩阵时, inv返回错误或警告。或者,您可以计算其Moore-Penrose逆或伪逆。如果A2是M1的伪逆矩阵

  计算矩阵的特征值和特征向量。

  方阵的特征值是一个向量,

  在与该矩阵进行线性变换时不会改变方向,可以用以下等式描述:其中

  的标量是与特征向量关联的特征值

  。在OML中,使用 eig函数进行计算。

  % calculate eigenvalue and eigenvector of a square matrix

  A = [2 0 0;0 3 4;0 4 9];

  [V,D] = eig(A)

  % verify result satisfy A*V = V*D

  find((A*V - V*D) > eps)

  矩阵分解

  矩阵分解是将矩阵分解为矩阵的乘积。有许多不同的矩阵分解。每个人都可以在特定类别的问题中找到用处。本节介绍LU和QR分解。

  LU分解。

  LU分解将矩阵分解为下三角矩阵和上三角矩阵的乘积。在OML中,使用 lu函数:

  % LU decomposition

  A = [4 3 1;0 6 3;1 2 4]

  [L,U] = lu(A)

  % verify if

  L*U = AL*U

  观察到,L并且U通过此函数返回的是下和上三角矩阵,并且L*U 是等于原始矩阵A。

  QR分解。

  QR分解将一个矩阵分解为正交矩阵Q和上三角矩阵R的乘积。在OML中,使用 qr函数:

  % QR decomposition

  format short

  A = [12 -51 4; 6 167 -68; -4 24 -41]

  [Q,R] = qr(A)

  % verify if Q is an orthogonal matrix

  assert((Q'*Q - eye(size(A))) < 10*eps)

  assert((Q*Q' - eye(size(A))) < 10*eps)

  % verify if Q*R = A

  assert((A - Q*R) < 100*eps)

  在舍入误差内Q,观察到这是一个正交矩阵,R 是一个上三角矩阵,并且Q*R等于 A。

  创建适用于lsqcurvefit的测试数据

  开始撰写

  从“文件”菜单中,选择“ 打开”,然后在 / tutorials /文件夹文件夹中找到文件 lsqcurvefitDemo.oml。该文件包含用于从具有随机噪声的阻尼正弦响应中创建采样数据的代码。

  定义拟合函数

  拟合曲线的参数是振幅,指数阻尼系数和振荡频率。参数分别指定为 A,b和f,并将它们作为第一个参数传递给向量中的拟合函数。第二个参数是函数求值的时间向量。

  使用lsqcurvefit执行曲线拟合

  根据数据图和一些计算,我们可以估计拟合参数。这些初始估计是lsqcurvefit的必需输入。其他输入是t和x原始数据值。

  第一个输出p包含拟合参数。第二个输出resnorm包含原始数据和拟合曲线之间的残差范数。

  用原始数据绘制拟合曲线

  创建测试数据以与polyfit拟合

  开始撰写。

  从“文件”菜单中,选择“ 打开”,然后在 / tutorials /文件夹中找到文件 polyfitDemo.oml。

  该文件包含用于为具有多项式趋势的散点图创建数据的代码。

  使用polyfit执行曲线拟合

  根据数据图和一些计算,我们可以估计拟合参数。这些初始估计是polyfit所需的输入。其他输入是t和x原始数据值。

  第一个输出p包含拟合的多项式系数。第二个输出s包含统计数据。这里仅显示残差矢量的范数。

  用原始数据绘制拟合曲线

  使用具有 上面确定的系数(p)的折线,可以将拟合曲线与原始数据一起绘制。

人气软件