MATLAB的介绍 基本模型与应用程序外文翻译资料

 2022-05-25 21:32:36

英语原文共 247 页,剩余内容已隐藏,支付完成后下载完整资料


1 MATLAB的介绍 基本模型与应用程序

1.1为什么选择MATLAB?

首先,MATLAB(矩阵实验室)不仅是一种非常灵活和简单的编程工具,而且可以作为高级编程语言使用。我们之所以选择MATLAB,是因为它与其他编程语言相比有一些重要的优势。这个MathWork 产品包含用于专门应用程序的通用内核和工具箱。初学者应该从学习内核开始。正如前面提到的,该语言易于学习和使用,但它提供了控制流语句、函数、数据结构、输入/输出语句和其他设施。数学函数库为各种数字算法提供了大量的函数。MATLAB GUI(图形用户界面)也很好,相应的功能也很容易使用。编写与MATLAB代码交互的C程序也是可运行的。

1.1.1 数组和矩阵代数

MATLAB的基本元素是矩阵。即使一个简单的变量也被认为是一个1times;1矩阵。基本类型是double(8字节)。接下来我们讲解几个专有名词。

命令的格式。在使用小数点后,用四位数字输出数值。它相当于命令。

gt;gt; format short

如果我们想要一个更长的输出格式,我们必须使用其他形式的格式命令,例如

format long: 以15位数字缩放定点格式。

format short e: 浮点格式有5位数字。

format long e: 浮点格式有15位数字。

format short g: 最好的固定或浮点格式,有5位数字。

format long g: 最好的固定或浮点格式,有15位数字。

请看下例中的对话,

gt;gt; pi

ans =

3.1416

gt;gt; format long

gt;gt; pi

ans =

3.14159265358979

此处及gt;gt;的续集里,gt;gt;代表着提词器。要了解更多的格式功能,只需简单地编译

gt;gt; help format

gt;gt; help sprintf

sprintf允许ANSI C格式。其中,format short是隐含的选项。此外,我们还可以通过使用可变精度算法(vpa)获得更多的输出数字。例如,

gt;gt; vpa(pi,100)

将给出pi的100位数字的近似值。想要了解更多,可以编译

gt;gt;help vpa

数组。没有一个声明可以定义数组的维数。分配一个小矩阵的最简单方法是使用一个显式列表。同一行上的组成部分应该用空格或逗号分隔。行用分号分隔或lt;输入gt;。矩阵本身是由方括号分隔的,即[]。例如,

gt;gt; A = [1 2;3 4]

returns the matrix

A =

  1. 2
  2. 4

数组的组件可以是实数、复数或任何MATLAB表达式。例如,

gt;gt; w =[0.7 sqrt(2) (1 9) lowast; 4/5]

returns the vector (sqrt(c)提供了一个radic;c的近似值):

w = [0.7000 1.4142 8.0000]

为了得到数组元素,我们应该使用索引

gt;gt; y = w(2)

我们得到了

y = 1.4142

其中,隐式索引的第一个值是1。这解释了上述y的值。如果调用了当前维度之外的组件,那么该数组将被扩展,而尚未定义的组件将接收到值0。例如

gt;gt; w(6)=minus;w(1);

gt;gt; w

returns

w =(0.7000 1.4142 8.0000 0 0 minus;0.7000)

如果我们以它的名称来调用一个变量,它的当前值就会被返回(例如,请参见pi及其编译代码)。这对于赋值语句也是成立的;也就是说,返回赋值的变量值。如果我们想要避免返回当前值,这意味着如果变量是一个数组,那么就意味着许多值,我们应该在语句的末尾放置一个分号。

让我们回到数组。考虑上面定义的矩阵A,并编译

gt;gt; A(2,4) = 7;

gt;gt; A

那么,我们会得到

A =

  1. 2 0 0

3 4 0 7

我们也可以删除矩阵的行或列。例如,我们用一下语句删除了上面矩阵A的第三列:

gt;gt; A(:,3) =[]

然后A改为。

A =

  1. 2 0

3 4 7

我们还可以连接数组。考虑下面的语句。

gt;gt; A1 = [1 2;3 4];

gt;gt; A2 = [5 6;7 8];

gt;gt; M = [A1;A2)

然后我们得到矩阵

M =

1 2

3 4

5 6

7 8

For

gt;gt; N = [A1 A2]

故我们得到了矩阵。

N =

1 2 5 6

3 4 7 8

冒号也很有用。

gt;gt; B = M(2:3,:)

然后B包含第2行和第3行以及M的所有列;也就是说,我们得到的

B =

3 4

5 6

A矩阵也可以通过使用函数one、zeros和eye来定义。

gt;gt; A= ones(m,n);

定义A为一个mtimes;n矩阵,所有的元素为1。当然,变量m和n应该已经赋值。

gt;gt; A= ones(n);

定义A为一个ntimes;n的矩阵,所有的元素为1。类似的定义是用zeros来做的,但是所有的元素都是0。通过使用eye,我们可以定义单位矩阵;例如,

gt;gt; I= eye(10);

I是10times;10的单位矩阵。

为了得到矩阵的维数,我们使用MATLAB函数size。让我们考虑语句序列:

gt;gt; Q = ones(4,7);

gt;gt; a = size(Q)。

得到

a =

4 7

为了得到向量的维数,我们可以使用size或length。让我们考虑下述语句序列。

gt;gt; p = [1 2 3 4];

gt;gt; q = p′;

现在

gt;gt; length(p)

MATLAB返回4,而对于gt;gt;length(q)也返回4.

根据

gt;gt; size(p)

我们得到了

ans =

1 4

而对于

gt;gt; size(q)

我们得到

ans =

4 1

实际上prsquo;是p的转置,length函数可以用在矩阵上。它给出了最大值(size),即最大行数和列数。

矩阵代数。给出了矩阵的一般代数运算或矩阵和向量的代数运算。例如,如果A和B是矩阵,我们可以设置。

gt;gt; X = A B;

X将存储两个矩阵的和。当然A和B应该有相同的维度。减法,以及通常的产品,乘法,也可用。一个矩阵的转置由′表示。例如,应该写成。

gt;gt; Y = X′;

此外,MATLAB还提供了array- smart操作。让和,两个具有相同尺寸的矩阵。因此

gt;gt; P = A.lowast; B;

将构建具有相同维度和定义的矩阵 ,并有如下定义

然而

gt;gt; Q = A./ B;

提供矩阵,并有如下定义,

通过

gt;gt; D = A .lowast; A

我们得到,并有如下定义,

采用高斯消去算法求解线性代数方程组。如果系统Ax = b的矩阵A和右边b是建立的,那么我们就可以用运算符“\”来得到解;也就是说,

gt;gt; x = A\ b;

下面给出了一个使用高斯消去法的实例。

一个经济学例子。要解决的问题被称为生产成本问题(例如,[DC72,第4.13章])。公司有n个部门(部门)。对于每个部分,直接成本是已知的。但是公司的员工想要找到每个部分的净成本。问题出现的原因是,j节的许多人为了另一节k的好处,工作了一个月的天数,而这发生在每对(j,k)的部分,j,k = 1,2,hellip;,n。用表示第i节的总成本,我们得到方程:

这里是第j节的成本的一部分,因为直接成本, i = 1,2,hellip;n,已知,我们得到线性代数方程组。

未知量是, i = 1,2,hellip;,n。我们可以把(1.1)写成AT= D,其中A是系统矩阵,D是右边的列向量,T表示未知的列向量。

净成本, i = 1,2,hellip;n是由公式给出的。

因此,生产成本问题可以解决如下。

步骤0:建立矩阵A和rhs(右侧)D。

步骤1:计算系统的解T(总成本)AT = D。

步骤2:用公式(1.2)计算净成本()。

通常,矩阵A从具体的例子是可逆的和良好的康迪。更具体地说,我们考虑一个来自[DC72]的例子。一个公司有五个部分(n = 5),即

序号 内容

1 研究 2

2 发展 3

3 生产 6

4 可数性 0.5

5 IT 0.3

货币单位是一百万美元。矩阵[]如下所示

让我们注意一下,每一栏的总和等于1(或等于100%)。这显示了部分工作的分派。因此,我们获得(通过(1.1))如下方程组

考虑到公式(1.2),可以在矩阵的对角线上找到值。因此,我们得到

相关代码如下。

% The production costs problem


n=5;


A = eye(n) ; % load diagonal of matrix A


% load other nonzero elements


A(1,2) = minus;0.2; A(1,4) = minus;0.1; A(1,5) = minus;0.3;


A(2,1) = minus;0.2; A(2,3) = minus;0.2; A(2,4) = minus;0.2;

A(2,5) = minus;0.2; A(3,1) = minus;0.1; A(3,2) = minus;0.2;

A(3,4) = minus;0.5; A(3,5) = minus;0.2;

A(4,5) = minus;0.3 ;


A(5,1) = minus;0.1; A(5,4) = minus;0.1;


A


D = [2, 3, 6, 0.5, 0.3]′


T = A\D % solve system AT = D by Gaussian elimination


P = [0.6, 0.6, 0.8, 0.1, 0]′ % load values 


NC = P .* T % compute Net Co

全文共33017字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[11842],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。