当前位置:文档之家› MATLAB 考点

MATLAB 考点

MATLAB  考点
MATLAB  考点

MATLAB 考点(不简要)

第一章:

MATLAB是MATrix LABoratory意为矩阵工厂(矩阵实验室)。

MATLAB的搜索路径

当用户在MATLAB命令窗口输入一条命令后,MATLAB按照一定次序寻找相关的文件。

基本的搜索过程是:

(1) 检查该命令是不是一个变量。

(2) 检查该命令是不是一个内部函数。

(3) 检查该命令是否当前目录下的M文件。

(4) 检查该命令是否MATLAB搜索路径中其他目录下的M文件。

用户可以将自己的工作目录列入MATLAB搜索路径,从而将用户目录纳入MATLAB 系统统一管理。

设置搜索路径的方法有:

(1) 用path命令设置搜索路径。

例将用户目录e:\matlab7\work加到搜索路径下。

在命令窗口输入:

第二章:

矩阵

矩阵是MATLAB最基本、最重要的数据对象。

MATLAB的大部分运算或命令都是在矩阵(在复数域上)运算的意义下执行的。

标量对应仅含一个元素的矩阵。

数值数据

双精度数,占64位,转换函数double

单精度数,占32位,转换函数single

带符号整数,转换函数int8,int16,int32

无符号整数,转换函数uint8,uint16,uint32

字符数据,转换函数char

结构体类型(Structure)

单元类型(Cell)

逻辑型,非0为true,0为false

1.变量命名

变量名是以字母开头,后接字母、数字或下划线的字符序列,最多63个字符。

变量名区分字母的大小写。

MATLAB提供的标准函数名以及命令名必须用小写字母。

2.赋值语句

(1) 变量=表达式

(2) 表达式(值赋给预定义变量ans)

其中表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。

利用MAT文件可以把当前工作空间中的一些有用变量长久地保留下来,扩展名是.mat。

MAT文件的生成和装入由save和load命令来完成。

常用格式为:

save 文件名[变量名表] [-append][-ascii]

load 文件名[变量名表] [-ascii]

●文件名可以带路径,但不需带扩展名.mat,命令默认对.mat文件进行操作。

●变量名表中的变量个数不限,只要内存或文件中存在即可,变量名之间以空格分隔。

当变量名表省略时,保存或装入全部变量。

●-ascii选项使文件以ASCII格式处理,省略该选项时文件将以二进制格式处理。

●-append选项控制将变量追加到MAT文件中。

format命令的格式为:

format 格式符

其中格式符决定数据的输出格式

用冒号表达式产生行向量,一般格式:

e1:e2:e3

其中e1为初始值,e2为步长,e3为终止值。

用linspace函数产生行向量。调用格式:

linspace(a,b,n)

其中a和b是生成向量的第一个和最后一个元素,n是元素总数。

1.矩阵元素

矩阵拆分

(1)利用冒号表达式获得子矩阵

A(:,j)表示取A矩阵的第j列全部元素;

A(i,:)表示A矩阵第i行的全部元素;

A(i,j)表示取A矩阵第i行、第j列的元素;

A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;

A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素;

A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素;

A(:)将矩阵A每一列元素堆叠起来,成为一个列向量。

end表示某一维的末尾元素下标。

A(end,:)

A(:,end)

(2)利用空矩阵删除矩阵的元素

给变量X赋空矩阵的语句:

X=[ ]

注意,X=[]与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。

1.基本算术运算

MATLAB的基本算术运算有:

+加

-减

* 乘

/ 右除

\ 左除

^ 乘方

(1) 矩阵加减运算

假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。

运算规则是:

●若A和B矩阵的维数相同,则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。

●若A与B的维数不相同,将给出错误信息,提示用户两个矩阵的维数不匹配。

●(2) 矩阵乘法

●若A为m×n矩阵,B为n×p矩阵,则

●C=A*B

●为m×p矩阵。

●(3) 矩阵除法

●有两种矩阵除法运算:

●\ 左除

●/ 右除

●如果A矩阵是非奇异方阵,则A\B和B/A运算可以实现。

●A\B等效于inv(A)*B

●B/A等效于B*inv(A)

●对于含有标量的运算,两种除法运算的结果相同。

●对于矩阵运算,一般A\B≠B/A。

●(4) 矩阵的乘方

●一个矩阵的乘方运算可以表示成

●A^x

●要求A为方阵,x为标量。

●2.点运算

●有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。

●点运算符有

●.* 点乘

●./ 点右除

●.\ 点左除

●.^ 点乘方

●两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维数相同。

●函数的自变量规定为矩阵变量。

●运算法则是将函数逐项作用于矩阵的元素上。

●结果是一个与自变量同维数的矩阵。

6种关系运算符:

< 小于

<= 小于或等于

> 大于

>= 大于或等于

== 等于

~= 不等于

运算法则:

(1) 两个标量的比较

若关系成立,结果为1,否则为0。

(2) 两个同维数矩阵的比较

对相同位置的元素比较。

(3) 标量与矩阵的比较

标量与矩阵的每一个元素比较。

逻辑运算符:

& 与

| 或

~非

运算法则:

(1)在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。

(2) a和b是两个标量

●a&b a,b全为非零时,结果为1,否则为0。

●a|b a,b中只要有一个非零,结果为1,否则为0。

●~a 当a是零时,结果为1;当a非零时,结果为0。

(3) 两个运算量是同维矩阵

相同位置上的元素按标量规则逐个进行。

(4) 一个是标量,另一个是矩阵

标量与矩阵中的每个元素之间按标量规则逐个进行。

(5)逻辑非是单目运算符,也服从矩阵运算规则。

(6)在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。

字符串是用单撇号括起来的字符序列。例:ch='ABc123d4e56Fg9' ;

将字符串当作一个行向量,每个元素对应一个字符,其标识方法和数值向量相同。

可以建立多行字符串矩阵。

字符串是以ASCII码形式存储的。

abs和double函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵。

相反,char函数可以把ASCII码矩阵转换为字符串矩阵。

第二章课后答案:

3.

(5)t(find(t==0))=eps;

第三章:

3.1.1 通用的特殊矩阵

表产生通用特殊矩阵的函数及其含义p39

3.1.2 用于专门学科的特殊矩阵p40

表产生专门学科特殊矩阵的函数及其含义

(1) 魔方矩阵

其每行、每列及两条对角线上的元素和都相等。

对于n阶魔方阵,其元素由1,2,3,…,n

2共n2个整数组成。

magic(n)求魔方矩阵的函数。

(2) 范得蒙(Vandermonde)矩阵

最后一列全为1;

倒数第二列为一个指定的向量;

其他各列是其后列与倒数第二列的点乘积。

vander(V)生成指定向量为V的范得蒙矩阵。

(3) 希尔伯特矩阵

元素

1

1 ij

h

i j

=

+-

hilb(n)生成希尔伯特矩阵的函数。

条件数很差,使用一般方法求逆会因为原始数据的微小扰动而产生不可靠的计算结果。

invhilb(n) 求n阶希尔伯特矩阵的逆的函数。

(4) 托普利兹矩阵

除第一行第一列外,其他每个元素都与左上角的元素相同。

(5) 伴随矩阵

compan(p) 生成伴随矩阵的函数

其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。

(6) 帕斯卡(Pascal)矩阵

二次项(x+y)n展开后的系数随n的增大组成一个三角形表,称为杨辉三角形。

由杨辉三角形表组成的矩阵称为帕斯卡矩阵。

pascal(n) 生成一个n阶帕斯卡矩阵。

toeplitz(x,y) 生成一个以x为第一列,y为第一行的托普利兹矩阵。这里x, y 均为向量,两者不必等长。

toeplitz(x) 用向量x生成一个对称的托普利兹矩阵。

3.2 矩阵结构变换p43

表矩阵结构变换函数及其含义

3.2.1 对角阵与三角阵

1.对角阵

只有对角线上有非0元素的矩阵称为对角矩阵。

数量矩阵—对角线上的元素相等的对角矩阵。

单位矩阵—对角线上的元素都为1的对角矩阵。

(1) 提取矩阵的对角线元素

设A为m×n矩阵。

diag(A)提取矩阵A主对角线元素,产生一个具有min(m,n)个元素的列向量。

diag(A,k) 提取第k条对角线的元素。

(2) 构造对角矩阵

设V为具有m个元素的向量。

diag(V) 产生一个m×m对角矩阵,其主对角线元素即为向量V的元素。

diag(V,k) 产生一个n×n(n=m+|k|)对角阵,其第k条对角线的元素即为向量V 的元素。

2.三角阵p44

三角阵分为上三角阵和下三角阵。

上三角阵矩阵的对角线以下的元素全为0的一种矩阵。

下三角阵对角线以上的元素全为0的一种矩阵。

(1) 上三角矩阵

triu(A) 求矩阵A的上三角阵。

triu(A,k) 求矩阵A的第k条对角线以上的元素。

triu(A,0)功能同triu(A)。

(2) 下三角矩阵

tril(A) 求矩阵A的下三角阵。

tril(A,k) 求矩阵A的第k条对角线以下的元素。

tril(A,0)功能同tril(A)。

3.2.2 矩阵的转置与旋转

1.矩阵的转置

转置运算符是单撇号: '。

2.矩阵的旋转

rot90(A,k)将矩阵A旋转90o的k倍,按逆时针方向。

当k为1时可省略。

3.矩阵的左右翻转

对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,…,依次类推。

fliplr(A)对矩阵A实施左右翻转。

4.矩阵的上下翻转

flipud(A)对矩阵A实施上下翻转。

3.4 矩阵求值p48

表矩阵求值函数及其含义

3.4.1 方阵的行列式值

把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为矩阵所对应的行列式的值。

det(A)求方阵A所对应的行列式的值。

3.4.2 矩阵的秩与迹

1.矩阵的秩

矩阵线性无关的行数与列数称为矩阵的秩。

rank(A)求矩阵秩。

2.矩阵的迹

矩阵的迹等于矩阵的对角线元素之和,也等于矩阵的特征值之和。

trace(A) 求矩阵的迹。

3.4.3 向量和矩阵的范数

矩阵或向量的范数用来度量矩阵或向量在某种意义下的长度。

范数有多种方法定义,其定义不同,范数值也就不同。

1.向量的3种常用范数及其计算函数

V为n维向量

(1) norm(V)或norm(V,2):计算2—范数。

2

V

=

(2) norm(V,1):计算1—范数。

11

||n

i i V v ==∑

(3) norm(V,inf):计算∞—范数。

1max{||}i i n

V

v ∞

≤≤=

2.矩阵的范数及其计算函数 A 为m ×n 矩阵,V 为n 维向量

(1) norm(A)或norm(A,2):计算2—范数。

2221

1max{}'V A A V A A λ==?=为最大特征值

(2) norm(A,1):计算1—范数。

1111

11

max{}max{||}m

ij V j n

i A A V a =≤≤==?=∑

(3) norm(A,inf):计算∞—范数。

111

max{}max{||}n

ij V

i m

j A

A V a ∞

∞=≤≤==?=∑

3.5 矩阵的特征值与特征向量 p52

表 求特征值与特征向量函数及其含义

例3.1 用求特征值的方法解方程。

3x 5-7x 4+5x 2+2x-18=0

习题三

3、个方阵A,求A的逆矩阵和A的行列式的值,并验证A与Aˉ1是互逆的。

4、求方程解:

4x1+2x2–x3=2

3x1-x2+2x3=10

12x1+3x2=8

第四章

4.1.1 M文件的分类

用MATLAB语言编写的程序,称为M文件,文件的扩展名为m。

M文件可以根据调用方式的不同分为两类:命令文件(Script File)

函数文件(Function File)。

两种文件的主要区别:

(1) 命令文件没有输入参数,也不返回输出参数;而函数文件可以带输入参数,也可返回输出参数。

(2) 命令文件对工作空间中的变量进行操作;而函数文件中定义的变量为局部变量,当函数文件执行完毕时,这些变量被清除。

(3) 命令文件可以直接执行;而函数文件要以函数调用的方式来调用它。

程序控制结构p58

顺序结构

选择结构

循环结构

4.2.1 顺序结构

按照程序中语句的排列顺序依次执行,直到程序的最后一个语句。

1.数据的输入

从键盘输入数据,可用input函数,调用格式为:

A=input(提示信息,选项);

2.数据的输出

命令窗口输出函数disp函数,其调用格式为

disp(输出项)

其中输出项既可以为字符串,也可以为矩阵。

例4.1(顺序结构)求一元二次方程ax2+bx+c=0的根p59

3.程序的暂停

暂停程序的执行用pause函数,其调用格式为:

pause(延迟秒数)

pause:暂停程序,直到用户按任一键后程序继续执行。

Ctrl+c:强行中止程序的运行。

4.2.2 选择结构p60

1.if语句

if语句有3种格式。

(1)单分支if语句:

if 条件

语句组

end

当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句;否则直接执行if语句的后继语句。

(2)双分支if语句:

if 条件

语句组1

else

语句组2

end

当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句。

(3)多分支if语句:

if 条件1

语句组1

elseif 条件2

语句组2

……

elseif 条件m

语句组m

else

语句组n

end

语句用于实现多分支选择结构。

例4.2(if elseif)字符转换输出p62

输入一个字符:

若为大写字母,则输出其对应的小写字母;

若为小写字母,则输出其对应的大写字母;

若为数字字符则输出其对应的数值;

2.switch语句

根据表达式的取值,分别执行不同的语句,其语句格式为:switch 表达式

case 表达式1

语句组1

case 表达式2

语句组2

……

case 表达式m

语句组m

otherwise

语句组n

end

当任意一个分支的语句执行完后,直接执行switch语句的下一句。

3.try语句

语句格式为:

try

语句组1

catch

语句组2

end

try语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2。

例4.3(try catch)矩阵乘法和点乘p64

矩阵乘法运算要求两矩阵的维数相容,否则会出错。先求两矩阵的乘积,若出错,则自

4.2.3 循环结构p65

1.for语句

for 循环变量=表达式1:表达式2:表达式3

循环体语句

end

其中:

表达式1的值为循环变量的初值

表达式2的值为步长

表达式3的值为循环变量的终值。

步长为1时,表达式2可以省略。

for语句更一般的格式为:

for 循环变量=矩阵表达式

循环体语句

end

执行过程是依次将矩阵的各列元素赋给循环变量,然后执行循环体语句,直至各列元素处理完毕。

4.3.1 全局变量与局部变量p76

函数文件中的变量是局部变量,与其他函数文件及工作空间相互隔离。

若在若干函数中,都把某一变量定义为全局变量,那么这些函数将共用这个变量。

全局变量的作用域是是工作空间,即全程有效,所有的函数都可以对它进行存取和修改。

因此,定义全局变量是函数间传递信息的一种手段。 全局变量用global 命令定义,格式为:

global 变量名

不提倡使用全局变量的原因: ● 破坏函数对变量的封装; ● 降低程序的可读性。

习题四

1. 先用函数的递归调用定义一个函数文件求

1

n

m

i i

=∑,然后调用该函数文件求

100

50

10

2

1

1

1

1k k k k k k ===++∑∑∑

function[y]=sy5_3(n,m)

y=0; for i=1:n; a=i.^m; y=y+a; end

>> y=sy5_3(100,1)+sy5_3(50,2)+sy5_3(10,-1) y =

4.7978e+004

2 . 写出下列程序的输出结果。 (1)s = 0;

a = [12,13,14;15,16,17;18,19,20;21,22,23]; for k = a for j = 1:4

if rem(k(j),2)~=0 s = s +k(j); end end

end

s

(2) 命令文件exe.m

global x

x = 1:2:5;y = 2:2:6; exsub(y);

x,y

函数文件sub.m function fun = sub(z) global x

z = 3*x;x = x+z;

(1)输出结果:

s =

108

(2) 输出结果:

x =

4 12 20 y =

2 4 6

VB与MATLAB接口的实现

VB与MATLAB接口的实现: https://www.doczj.com/doc/9b4924975.html, 实例说明 在本实例中,我们制作一个能够与Matlab进行交互的应用程序。程序运行结果如图78-1所示。 图78-1 运行结果 技术要点 z引用Matlab库 z执行Matlab命令 z结束Matlab 实现过程 ■ 新建项目 打开Visual https://www.doczj.com/doc/9b4924975.html,,选择“新建项目”,在项目类型窗口中选择“Visual Basic项目”,在模板窗口中选择“Windows应用程序”,在名称域中输入“CnMatlab”,然后选择保存路径。单击“确认”。 ■ 添加控件 向当前窗体添加五个Button按钮,两个Picture控件,一个Label控件,一个Hscroll控件和一个Vscroll控件。单击菜单“项目|添加引用”,选中“Matlab Automation(Version5.3)Type Library”这一项。 注意:本程序只能在安装有Matlab的机器上运行。 ■ 设置属性 将Label控件和Command按钮的Text属性设置为与界面一致。在此不再赘述。 ■ 添加代码 Dim str1 As String ' 显示正弦图 Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click Dim matlab As Object matlab = CreateObject("matlab.application") matlab.MinimizeCommandWindow()

《应用计算方法教程》matlab作业二

6-1 试验目的计算特征值,实现算法 试验容:随机产生一个10阶整数矩阵,各数均在-5和5之间。 (1) 用MATLAB 函数“eig ”求矩阵全部特征值。 (2) 用幂法求A 的主特征值及对应的特征向量。 (3) 用基本QR 算法求全部特征值(可用MATLAB 函数“qr ”实现矩阵的QR 分解)。 原理 幂法:设矩阵A 的特征值为12n ||>||||λλλ≥???≥并设A 有完全的特征向量系12,,,n χχχ???(它们线性无关),则对任意一个非零向量0n V R ∈所构造的向量序列1k k V AV -=有11()lim ()k j k k j V V λ→∞ -=, 其中()k j V 表示向量的第j 个分量。 为避免逐次迭代向量k V 不为零的分量变得很大(1||1λ>时)或很小(1||1λ<时),将每一步的k V 按其模最大的元素进行归一化。具体过程如下: 选择初始向量0V ,令1max(),,,1k k k k k k k V m V U V AU k m +===≥,当k 充分大时1111,max()max() k k U V χλχ+≈ ≈。 QR 法求全部特征值: 111 11222 111 ,1,2,3,k k k k k A A Q R R Q A Q R k R Q A Q R +++==????==??=???? ??????==?? 由于此题的矩阵是10阶的,上述算法计算时间过长,考虑采用改进算法——移位加速。迭 代格式如下: 1 k k k k k k k k A q I Q R A R Q q I +-=?? =+? 计算k A 右下角的二阶矩阵() () 1,1 1,() (),1 ,k k n n n n k k n n n n a a a a ----?? ? ??? 的特征值()()1,k k n n λλ-,当()()1,k k n n λλ-为实数时,选k q 为()()1,k k n n λλ-中最接近(),k n n a 的。 程序

matlab常用计算命令

Matlab常用计算命令(部分) by sunny_疑似天人 1.多项式运算: poly2sym函数,将给定的多项式系数向量转化为符号表达式,以降幂排序。 poly函数,得到矩阵的特征多项式(首项系数为1)的系数向量,然后也可以用poly2sym函数转化为多项式的符号表达式。 roots函数,得到方程的根,调用形式为roots(a),其中a 为多项式的系数;也可以直接调用roots([1 2 1])。 compan函数与eig函数,通过compan函数建立多项式的伴随矩阵再通过eig函数求伴随矩阵特征值以得到多项式的所有根。效果与roots函数相同;同时这两个函数也可单独使用: compan函数,建立多项式的伴随矩阵,如:a=[1 2 3 ];compan(a) ans = -2 -3 1 0 eig函数,求矩阵的特征值。 conv函数,求多项式的乘积,如:pd=conv(p,d),其中p和d均为多项式系数向量,得到的同样也是多项式的系数向量。 deconv函数,求多项式的除法。 polyder函数,求多项式的微分。即求一阶导数,如果要求多项式的高阶微分,可以通过循环实现。

polyfit 函数,对数据拟合得到多项式,这个多项式即可大致代表数据变化规律。例如: x=0:pi/20:pi/2; y=sin(x); p=polyfit(x,y,5) x1=0:pi/30:pi*2; y1=sin(x1); y2=polyval(p,x1); plot(x1,y1,'b-',x1,y2,'r*') legend('原曲线','拟合曲线') axis([0 7 -1.2 4]) p = 0.0057 0.0060 -0.1721 0.0021 0.9997 0.0000 1 2 3 4 5 6 7 -1-0.500.511.522.533.54 原曲线拟合曲线 2.向量及其运算 x=linspace(a,b,n),生成一个向量x ,其中a ,b 分别是生成矢量的第一个和最后一个元素,n 是采样总点数。当n 缺省时默认生成100维的向量。

MATLAB计算概率

一、实验名称 已知随机向量(X ,Y )独立同服从标准正态分布,D={(x,y)|a0&&e<6 if e==1

p=erchong(a,b,c,d) end if e==2 p=wangge(a,b,c,d); end if e==3 p=fenbu(a,b,c,d); end if e==4 p=mente(a,b,c,d); end if e==5 [X,Y]=meshgrid(-3:0.2:3); Z=1/(2*pi)*exp(-1/2*(X.^2+Y.^2)); meshz(X,Y,Z); end e=input('请选择: \n'); end % ===============================用二重积分计算function p=erchong(a,b,c,d) syms x y; f0=1/(2*pi)*exp(-1/2*(x^2+y^2)); f1=int(f0,x,a,b); %对x积分 f1=int(f1,y,c,d); %对y积分 p=vpa(f1,9); % ================================等距网格法function p=wangge(a,b,c,d) syms x y ; n=100; r1=(b-a)/n; %求步长 r2=(d-c)/n; za(1)=a;for i=1:n,za(i+1)=za(i)+r1;end %分块 zc(1)=c;for j=1:n,zc(j+1)=zc(j)+r2;end for i=1:n x(i)=unifrnd(za(i),za(i+1));end %随机取点 for i=1:n y(i)=unifrnd(zc(i),zc(i+1));end s=0; for i=1:n for j=1:n s=1/(2*pi)*exp(-1/2*(x(i)^2+y(j)^2))+s;%求和end end p=s*r1*r2;

MATLAB回归预测模型

MATLAB---回归预测模型 Matlab统计工具箱用命令regress实现多元线性回归,用的方法是最小二乘法,用法是:b=regress(Y,X) [b,bint,r,rint,stats]=regress(Y,X,alpha) Y,X为提供的X和Y数组,alpha为显着性水平(缺省时设定为0.05),b,bint为回归系数估计值和它们的置信区间,r,rint为残差(向量)及其置信区间,stats是用于检验回归模型的统计量,有四个数值,第一个是R2,第二个是F,第三个是与F对应的概率 p ,p <α拒绝 H0,回归模型成立,第四个是残差的方差 s2 。 残差及其置信区间可以用 rcoplot(r,rint)画图。 例1合金的强度y与其中的碳含量x有比较密切的关系,今从生产中收集了一批数据如下表 1。 先画出散点图如下: x=0.1:0.01:0.18; y=[42,41.5,45.0,45.5,45.0,47.5,49.0,55.0,50.0]; plot(x,y,'+') 可知 y 与 x 大致上为线性关系。 设回归模型为y =β 0+β 1 x

用regress 和rcoplot 编程如下: clc,clear x1=[0.1:0.01:0.18]'; y=[42,41.5,45.0,45.5,45.0,47.5,49.0,55.0,50.0]'; x=[ones(9,1),x1]; [b,bint,r,rint,stats]=regress(y,x); b,bint,stats,rcoplot(r,rint) 得到 b =27.4722 137.5000 bint =18.6851 36.2594 75.7755 199.2245 stats =0.7985 27.7469 0.0012 4.0883 即β 0=27.4722 β 1 =137.5000 β 的置信区间是[18.6851,36.2594], β 1 的置信区间是[75.7755,199.2245]; R2= 0.7985 , F = 27.7469 , p = 0.0012 , s2 =4.0883 。可知模型(41)成立。

MATLAB与FPGA的接口

FPGA器件的开发平台与MATLAB接口仿真 2007-09-03 16:24 FPGA器件的开发平台与MATLAB接口仿真 中南财经政法大学信息学院周巍武汉大学电气工程学院张志杰引言 现场可编程逻辑门阵列FPGA器件的出现是超大规模集成电路技术和计算机辅助设计技术发展的结果。FPGA器件集成度高、体积小,具有通过用户编程实现专门应用功能。 它允许电路设计者利用基于计算机的开发平台,经过设计输入、仿真、测试和校验,直到达到预期的结果。目前使用最多的Quartus II 软件支持几乎所有的EDA工具,并且可以通过命令行或Tcl脚本与第三方EDA工具之间进行无缝连接。但在很多工程设计应用中,由FPGA器件完成的主程序中只完成大量的数学运算,程序调试时以二进制输出的信号可视性差,给设计人员进行仿真、调试带来了很多不便。对于很多工程设计人员来说MATLAB是一种熟悉的具有强大的运算功能和波形仿真、分析功能的软件,如果能将FPGA与MA TLAB接口,就可以快速、准确、直观地对FPGA程序进行校验和仿真,尤其在波形信号处理等工程应用领域具有实际意义。 Quartus II 开发软件 Altera公司的QuartusII软件提供了可编程片上系统(SOPC)设计的一个综合开发环境。Quartus II 开发工具人机界面友好、易于使用、性能优良,并自带编译、仿真功能。QuartusII 软件支持VHDL和Verilog硬件描述语言的设计输入、基于图形的设计输入方式以及集成系统级设计工具。QuartusII软件可以将设计、综合、布局和布线以及系统的验证全部都整合到一个无缝的环境之中,其中也包括和第三方EDA工具的接口。QuartusII设计软件根据设计者需要提供了一个完整的多平台开发环境,它包含整个FPGA和CPLD设计阶段的解决方案。图1说明了QuartusII软件的开发流程。 在实际应用设计中,对程序原理性及可执行性的验证主要集中在程序修改阶段,尤其在

计算方法_全主元消去法_matlab程序

%求四阶线性方程组的MA TLAB程序 clear Ab=[0.001 2 1 5 1; 3 - 4 0.1 -2 2; 2 -1 2 0.01 3; 1.1 6 2.3 9 4];%增广矩阵 num=[1 2 3 4];%未知量x的对应序号 for i=1:3 A=abs(Ab(i:4,i:4));%系数矩阵取绝对值 [r,c]=find(A==max(A(:))); r=r+i-1;%最大值对应行号 c=c+i-1;%最大值对应列号 q=Ab(r,:),Ab(r,:)=Ab(i,:),Ab(i,:)=q;%行变换 w=Ab(:,c),Ab(:,c)=Ab(:,i),Ab(:,i)=w;%列变换 n=num(i),num(i)=num(c),num(c)=n;%列变换引起未知量x次序变化for j=i:3 Ab(j+1,:)=-Ab(j+1,i)*Ab(i,:)/Ab(i,i)+Ab(j+1,:);%消去过程 end end %最后得到系数矩阵为上三角矩阵 %回代算法求解上三角形方程组 x(4)=Ab(4,5)/Ab(4,4); x(3)=(Ab(3,5)-Ab(3,4)*x(4))/Ab(3,3); x(2)=(Ab(2,5)-Ab(2,3)*x(3)-Ab(2,4)*x(4))/Ab(2,2); x(1)=(Ab(1,5)-Ab(1,2)*x(2)-Ab(1,3)*x(3)-Ab(1,4)*x(4))/Ab(1,1); for s=1:4 fprintf('未知量x%g =%g\n',num(s),x(s)) end %验证如下 %A=[0.001 2 1 5 1; 3 -4 0.1 -2 2;2 -1 2 0.01 3; 1.1 6 2.3 9 4]; %b=[1 2 3 4]'; %x=A\b; %x1= 1.0308 %x2= 0.3144 %x3= 0.6267 %x4= -0.0513

matlab软件的使用方法

MATLAB 软件使用简介 默认分类2007-03-15 21:26:49 阅读4106 评论8 字号:大中小订阅 MATLAB 软件使用简介 MATLAB 是一个功能强大的常用数学软件, 它不但可以解决数学中的数值计算问题, 还可以解决符号演算问题, 并且能够方便地绘出各种函数图形。MATLAB自1984年由美国的MathWorks公司推向市场以来,历经十几年的发展和竞争,现已成为国际最优秀的科技应用软件之一。这里主要以适用于Windows操作系统的MATLAB5.3版本向读者介绍MATLAB 的使用命令和内容。 一、MATLAB 的进入/退出 MA TLAB 的安装成功后, 系统会在Windows【开始】菜单的【程序】子菜单中加入启动MATLAB命令的图标, 用鼠标单击它就可以启动MATLAB系统,见图2.1。 图2.1 启动MA TLAB 启动MATLAB后, 屏幕上出现MATLAB命令窗口: 图2.2 MA TLAB命令窗口 图2.2的空白区域是MATLAB 的工作区(命令输入区), 在此可输入和执行命令。 退出MATLAB系统像关闭Word文件一样, 只要用鼠标点击MATLAB系统集成界面右上角的关闭按钮即可。 二、MATLAB 操作的注意事项 l 在MA TLAB工作区输入MATLAB命令后, 还须按下Enter键, MA TLAB才能执行你输入的MA TLAB命令, 否则MA TLAB不执行你的命令。 l MATLAB 是区分字母大小写的。 l 一般,每输入一个命令并按下Enter键, 计算机就会显示此次输入的执行结果。(以下用↙表示回车)。如果用户不想计算机显示此次输入的结果,只要在所输入命令的后面再加上一个分号“;”即可以达到目的。如: x= 2 + 3 ↙x=5 x = 2 + 3 ; ↙不显示结果5 l 在MA TLAB工作区如果一个表达式一行写不下,可以用在此行结尾处键入三个英文句号的方法达到换行的目的。如: q=5^6+sin(pi)+exp(3)+(1+2+3+4+5)/sin(x)… -5x+1/2-567/(x+y) l MATLAB 可以输入字母、汉字,但是标点符号必须在英文状态下书写。 l MATLAB 中不需要专门定义变量的类型,系统可以自动根据表达式的值或输入的值

(整理)matlab16常用计算方法.

常用计算方法 1.超越方程的求解 一超越方程为 x (2ln x – 3) -100 = 0 求超越方程的解。 [算法]方法一:用迭代算法。将方程改为 01002ln()3 x x =- 其中x 0是一个初始值,由此计算终值x 。取最大误差为e = 10-4,当| x - x 0| > e 时,就用x 的值换成x 0的值,重新进行计算;否则| x - x 0| < e 为止。 [程序]P1_1abs.m 如下。 %超越方程的迭代算法 clear %清除变量 x0=30; %初始值 xx=[]; %空向量 while 1 %无限循环 x=100/(2*log(x0)-3); %迭代运算 xx=[xx,x]; %连接结果 if length(xx)>1000,break ,end %如果项数太多则退出循环(暗示发散) if abs(x0-x)<1e-4,break ,end %当精度足够高时退出循环 x0=x; %替换初值 end %结束循环 figure %创建图形窗口 plot(xx,'.-','LineWidth',2,'MarkerSize',12)%画迭代线'.-'表示每个点用.来表示,再用线连接 grid on %加网格 fs=16; %字体大小 title('超越方程的迭代折线','fontsize',fs)%标题 xlabel('\itn','fontsize',fs) %x 标签 ylabel('\itx','fontsize',fs) %y 标签 text(length(xx),xx(end),num2str(xx(end)),'fontsize',fs)%显示结果 [图示]用下标作为自变量画迭代的折线。如P0_20_1图所示,当最大误差为10-4时,需要迭代19次才能达到精度,超越方程的解为27.539。 [算法]方法二:用求零函数和求解函数。将方程改为函数 100()2ln()3f x x x =-- MATLAB 求零函数为fzero ,fzero 函数的格式之一是 x = fzero(f,x0) 其中,f 表示求解的函数文件,x0是估计值。fzero 函数的格式之二是 x = fzero(f,[x1,x2])

labview与matlab接口的方法

LabVIEW与Matlab接口的方法 The Method of Interfacing Between LabVIEW and Matlab 陈金平 (新疆大学,乌鲁木齐 830008) 0 引言 虚拟仪器技术是计算机技术、现代测控技术和电子仪器技术相互结合、渗透的产物。在虚拟仪器系统中,数据的分析处理、控制、结果输出和用户界面等功能都由软件完成,硬件仅仅是为了解决信号的输入输出,因此,软件是整个仪器系统的核心,从某种意义上可以说:“软件即仪器”。虚拟仪器系统的软件设计可以采用通用的可视化编程语言,如Visual C++、Visual Basic、Delphi等,但更为方便高效的还是专用的虚拟仪器软件开发平台,如美国国家仪器公司(National Instruments,NI)的Lab2 VIEW、LabW indows/C VI,惠普公司的VEE等,而其中首推NI公司的图形化编程语言LabVIEW。 1 LabVIEW的功能及特点 LabVIEW是NI公司推出的一种虚拟仪器软件开发平台,自1986年正式推出,经过短短不到15年的时间,已经发展到以最新板本LabVIEW611为核心,包括控制与仿真、高级数字信号处理、统计过程控制、模糊控制和PID控制等众多附加软件包,运行于W indows NT/98、Linux、M acintosh、Sun和HP-UX等多种平台的工业标准软件开发环境。 LabVIEW在包括航空航天、通信、汽车、半导体和生物医学等众多领域内得到了广泛的应用。其最大的特色是采用编译型图形化编程语言———G语言(G raph2 Pro gramm ing),即用户设计好程序的大体框架后,如同画流程图一般,只需将系统提供的各种图形化功能模块连接起来,就可得到所需的应用软件。LabVIEW中的程序称为VI(virtual instruments),每个VI都由前面板和框图程序以及图标/连接端口三部分组成。 除了具备其它编程语言所提供的常规函数功能外,LabVIEW内部还集成了大量的生成图形界面的模板,如各种表头、旋钮、开关、LE D指示灯、图表等;丰富实用的数值分析、信号处理功能,如FFT变换、各种滤波器、信号发生器等;以及对RS-232、G PI B、VXI、数据采集板卡、网络等多种硬件的设备驱动功能,并免费提供数十家世界知名仪器厂商的几百种源码级仪器驱动,大大方便和简化了用户的设计开发工作。Lab2 VIEW使得过去繁琐、枯燥的软件开发变得简单、方便,尤其适合不熟悉传统文本编程语言(如C、BASIC等)的工程技术人员,被誉为工程师和科学家的语言。 但是,在大型的系统测试和仿真过程中,需要软件进行一些很复杂的数值计算时,LabVIEW的图形化编程语言就显得力不从心,M atlab是一种常用的高效率数学运算工具,它建立在向量、数组和复数矩阵的基础上,使用方便,将它和LabVIEW有机地结合起来会大大减少编程的工作量,提高编程效率。本文通过求解一常微分方程初值问题的例子,介绍了两种编程语言的接口方法。 2 在LabVIEW中调用Matlab语言的方法在测试系统设计和软件开发过程中,数学分析与信号处理是两个不可缺少的重要内容。LabVIEW将数据采集和测试分析中常用的数学和信号分析算法程序集成在一起,提供了先进的数学和信号分析环境,所有的数学分析节点都集中在M athematics子模板中。在此模板中有一M atlab Script节点,利用此节点就可以实现在LabVIEW中对M atlab语言的调用。下面通过具体例子介绍调用方法。举例如下: 用Runge2K utta法计算下列微分方程的解(初值问题): y′=-50y+50x2+2x , 0≤x≤1 y(0)=1 2.1 编制M文件 启动M atlab610,利用其M文件编辑器编写M文件如下: function y=ff2(x,y) y=-50?y+50?x?x+2?x; 35 LabVIEW与M atlab接口的方法 陈金平

预测控制MATLAB仿真与设计

动态矩阵控制算法实验报告 院系:电子信学院 姓名:郝光杰 学号:172030039 专业:控制理论与控制工程 导师:俞孟蕻

MATLAB环境下动态矩阵控制实验 一、实验目的: 对于带有纯滞后、大惯性的研究对象,通过动态控制矩阵的MATLAB的直接处理与仿真实验,具有较强的鲁棒性和良好的跟踪性。输入已知的控制模型,通过对参数的选择,来取的良好的控制效果。 二、实验原理: 动态矩阵控制算法是一种基于被控对象非参数数学模型的控制算法,它是一种基于被控对象阶跃响应的预测控制算法,以对象的阶跃响应离散系统为模型,避免了系统的辨识,采用多步预估技术,解决时延问题,并按照预估输出与给定值偏差最小的二次性能指标实施控制,它适用于渐进稳定的线性对象,系统动态特性中存在非最小相位特性或纯滞后都不影响算法的直接使用。 三、实验环境: 计算机 MATLAB2016b 四、实验步骤: 影响控制效果的主要参数有: 1)采样周期T与模型长度N 在DMC中采样周期T与模型长度N的选择需要满足香农定理和被控对象的类型及其动态特性的要求,通常需要NT后的阶跃响应输出值接近稳定值。 2)预测时域长度P P对系统的快速性和稳定性具有重要影响。为使滚动优化有意义,应使P 包含对象的主要动态部分,P越小,快速性提高,稳定性变差;反之,P越大,系统实时性降低,系统响应过于缓慢。 3)控制时域长度M

M控制未来控制量的改变数目,及优化变量的个数,在P确定的情况下,M越小,越难保证输出在各采样点紧密跟踪期望输出值,系统响应速度缓慢, 可获得较好的鲁棒性,M越大,控制机动性越强,改善系统的动态性能,但是稳定性会变差。 五、实例仿真 (一)算法实现 设GP(s)=e-80s/(60s+1),采用DMC后的动态特性如图1所示,采样周期 T=20s,优化时域P=10,M=2,建模时域N=20。 MATLAB程序1: g=poly2tfd(1,[60 1],0,80);%通用传函转换为MPC模型 delt=20; %采样周期 nt=1; %输出稳定性向量 tfinal=1000; %截断时间 model=tfd2step(tfinal,delt,nt,g);%传函转换为阶跃响应模型 plant=model;%进行模型预测控制器设计 p=10; m=2; ywt=[];uwt=1;%设置输入约束和参考轨迹等控制器参数 kmpc=mpccon(plant,ywt,uwt,m,p);%模型预测控制器增益矩阵计算 tend=1000;r=1;%仿真时间 [y,u,yrn]=mpcsim(plant,model,kmpc,tend,r);%模型预测控制仿真 t=0:20:1000;%定义自变量t的取值数组 plot(t,y) xlabel(‘图一DMC控制动态响应曲线(time/s)’); ylabel(‘响应曲线’); 结果如下: Percent error in the last step response coefficient

Matlab编程以及接口

Matlab编程的初步知识: 1.M脚本文件 Matlab命令集合; 无需输入和输出变量; 与其它脚本文件之间变量透明,即共同使用Matlab的工作空间。 比如 例1: x = (1:10); y =sin(x); plot(x,y) 例2: A = magic (4); B = A'; [C,D = xtimesAB(A,B); 2.函数 同样也是完成具体任务的指令集合,但是用一个名字封装起来,变量对外不透明,需要借助输入变量提供数据,输出变量给出结果。执行完毕后,所用的内存全部释放给Matlab。这样的命令集合体称为函数,封装的名字称为函数名,输入变量和输出变量在函数名前后指定。比如例2的xtimesAB(A,B)定义如下: function [C,D] =xtimesAB(A,B) % % This function can tell the products of e-e and V-C % C = A.*B; D = A*B; end 其中,函数名为xtimesAB,输入变量为A,B;输出变量为C,D。函数名下面%开头的部分为注释内容。在Matlab环境下,可以通过help xtimesAB来显示。 还有一种简单的函数,即inline函数,其特点是随用随定义。比如 1.>> myfun = ‘1+log(r) ‘; 2.>> myfuni=inline(myfun,’r’) 3.>>a=feval(myfuni,10) 4.结果a = 3.3026

我们用得最多的,就是像xtimesAB这样的M函数。与上面这个inline函数对应的M函数为 function y=myfun(r) y=1+log(r); 该函数结尾不含有end,即Matlab不要求必须有end。 使用时,在Matlab命令环境下,直接书写函数名,并给出输入变量,即可以工作。但需要注意的是,Matlab调用的是文件名而不是函数名。但一般两者取一样的名字。因此,关键是文件名。 M函数的流程控制简介如下: I. 循环 5.while a)while condition b)命令语句 c)end 6.for a)for i=1:n b)语句 c)end ii.条件 1.if a)if condition 1 b)语句 c)elseif condition2 d)语句 e)else f)语句 g)end 2.switch a)switch 表达式 b)case case1 c)语句 d)case case2 e)语句 f)otherwise g)语句 h)End iii.跳过:continue iv.跳出:break

matlab用于计算方法的源程序

1、Newdon迭代法求解非线性方程 function [x k t]=NewdonToEquation(f,df,x0,eps) %牛顿迭代法解线性方程 %[x k t]=NewdonToEquation(f,df,x0,eps) %x:近似解 %k:迭代次数 %t:运算时间 %f:原函数,定义为内联函数 ?:函数的倒数,定义为内联函数 %x0:初始值 %eps:误差限 % %应用举例: %f=inline('x^3+4*x^2-10'); ?=inline('3*x^2+8*x'); %x=NewdonToEquation(f,df,1,0.5e-6) %[x k]=NewdonToEquation(f,df,1,0.5e-6) %[x k t]=NewdonToEquation(f,df,1,0.5e-6) %函数的最后一个参数也可以不写。默认情况下,eps=0.5e-6 %[x k t]=NewdonToEquation(f,df,1) if nargin==3 eps="0".5e-6; end tic; k=0; while 1 x="x0-f"(x0)./df(x0); k="k"+1; if abs(x-x0) < eps || k >30 break; end x0=x; end t=toc; if k >= 30 disp('迭代次数太多。'); x="0"; t="0"; end

2、Newdon迭代法求解非线性方程组 function y="NewdonF"(x) %牛顿迭代法解非线性方程组的测试函数 %定义是必须定义为列向量 y(1,1)=x(1).^2-10*x(1)+x(2).^2+8; y(2,1)=x(1).*x(2).^2+x(1)-10*x(2)+8; return; function y="NewdonDF"(x) %牛顿迭代法解非线性方程组的测试函数的导数 y(1,1)=2*x(1)-10; y(1,2)=2*x(2); y(2,1)=x(2).^+1; y(2,2)=2*x(1).*x(2)-10; return; 以上两个函数仅供下面程序的测试 function [x k t]=NewdonToEquations(f,df,x0,eps) %牛顿迭代法解非线性方程组 %[x k t]=NewdonToEquations(f,df,x0,eps) %x:近似解 %k:迭代次数 %t:运算时间 %f:方程组(事先定义) ?:方程组的导数(事先定义) %x0:初始值 %eps:误差限 % %说明:由于虚参f和df的类型都是函数,使用前需要事先在当前目录下采用函数M文件定义% 另外在使用此函数求解非线性方程组时,需要在函数名前加符号“@”,如下所示 % %应用举例: %x0=[0,0];eps=0.5e-6; %x=NewdonToEquations(@NewdonF,@NewdonDF,x0,eps) %[x k]=NewdonToEquations(@NewdonF,@NewdonDF,x0,eps) %[x k t]=NewdonToEquations(@NewdonF,@NewdonDF,x0,eps) %函数的最后一个参数也可以不写。默认情况下,eps=0.5e-6 %[x k t]=NewdonToEquations(@NewdonF,@NewdonDF,x0,eps)

MatLab基本运算

MatLab & 数学建模 第一讲简介及基本运算 一、简介 MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。那是20世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。 经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。 MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC)纷纷淘汰,而改以MATLAB为平台加以重建。在时间进入20世纪九十年代的时候,MATLAB 已经成为国际控制界公认的标准计算软件。 在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。这几乎成了九十年代教科书与旧版书籍的区别性标志。在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。 在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。 在设计研究单位和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具。如美国National Instruments公司信号测量、分析软件LabVIEW,Cadence公司信号和通信分析设计软件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB为主要支撑。又如HP公司的VXI硬件,TM公司的DSP,Gage公司的各种硬卡、仪器等都接受MATLAB的支持。 MATLAB具有用法简易、可灵活运用、程式结构强又兼具延展性。以下为其几个特色: ?功能强的数值运算 - 在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函数可使用,函数的标示自然,使得问题和解答像数学式子一般简单明了,让使用者可全力发挥在解题方面,而非浪费在电脑操作上。 ?先进的资料视觉化功能 - MATLAB的物件导向图形架构让使用者可执行视觉数据分,并制作高品质的图形,完成科学性或工程性图文并茂的文章。 ?高阶但简单的程式环境 - 作为一种直译式的程式语言,MATLAB容许使用者在短时间内写完程式,所花的时间约为用 FORTRAN 或 C 的几分之一,而且不需要编译 (compile)及联结 (link) 即能执行,同时包含了更多及更容易使用的内建功能。 ?开放及可延伸的架构 - MATLAB容许使用者接触它大多数的数学原使码,检视运算法,更改现存函数,甚至加入自己的函数使 MATLAB成为使用者所须要的环境。 ?丰富的程式工具箱 - MATLAB的程式工具箱融合了套装前软体的优点,与一个灵活的开放但容易操作之环境,这些工具箱提供了使用者在特别应用领域所需之许多函数。现有工具箱有:符号运算(利用Maple V的计算核心执行)、影像处理、统计分析、讯号处理、神经网路、模拟分析、控制系统、即时控制、系统确认、强建控制、弧线分析、最佳化、模糊逻辑、mu分析及合成、化学计量分析。 二、MatLab界面

灰色预测模型的MATLAB 程序及检验程序

灰色预测模型的Matlab程序及检验程序%灰色预测模型程序 clear syms a b; c=[a b]'; A=[46.232.626.723.020.018.917.516.3];%原始序列B=cumsum(A);%累加 n=length(A); for i=1:(n-1) C(i)=(B(i)+B(i+1))/2; end %计算待定参数 D=A; D(1)=[]; D=D'; E=[-C;ones(1,n-1)]; c=inv(E*E')*E*D; c=c'; a=c(1); b=c(2); %预测往后预测5个数据 F=[];F(1)=A(1); for i=2:(n+5) F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; end G=[];G(1)=A(1); for i=2:(n+5) G(i)=F(i)-F(i-1); end t1=2002:2009; t2=2002:2014; G plot(t1,A,'o',t2,G) %灰色预测模型检验程序 function[q,c,p]=checkgm(x0,x1) %GM检验函数 %x0原始序列 %x1预测序列 %·返回值

%q–-相对误差 %c--·方差比 %p--小误差概率 e0=x0-x1; q=e0/x0; s1=var(x0); %qpa=mean(e0); s2=var(e0); c=s2/s1; len=length(e0); p=0; for i=1:len if(abs(e0(i))<0.6745*s1) p=p+1; end end p=p/len; end 等级相对误差q方差比C小误差概论P I级<0.01<0.35>0.95 II级<0.05<0.50<0.80 III级<0.10<0.65<0.70 IV级>0.20>0.80<0.60

基于Matlab的简易计算器

工程设计报告 设计题目:基于Matlab的简易计算器 学院: 专业: 班级: 学号: 姓名: 电子邮件: 日期:2015年12 月 成绩: 指导教师:

西安电子科技大学 电子工程学院 工 程设计 任务书 学生姓名指导教师职称 学生学号专业 题目基于Matlab 的简易计算器 任务与要求 任务如下: 利用MATLAB GUI 设计实现一个图形用户界面的计算器程序,实现: A.实现十进制数的加、减、乘、除、简单计算。 B. 科学计算函数,包括正弦、余弦、正切、余切、开方、指数等函数运行。 C. 有清除键,能清除操作。 要求如下: A .熟练掌握MatlabGUI 界面的设计与应用 B .最终计算器能够实现预期的相关功能 开始日期2015年 11月日完成日期2016年1月日 课程设计所在单位 本表格由电子工程学院网络信息中心编辑录入 https://www.doczj.com/doc/9b4924975.html,. …………………………装…………………… … … … … 订 … … … … … … … … … … … …线 … …… …… …… …… …… … …… …… …… …… …… … …

摘要 基于Matlab GUI计算器设计时利用GUI的创建图像用户界面进行计算器设计。设计计算器时,主要是考虑到计算器的易用性、功能的常用程度进行计算器界面与功能的设计。通过调整控件和文本的布局及颜色,使界面简单大方、布局合理,达到界面友好的效果。 计算器设计时主要利用到get和set两个函数进行各个控件属性值的传递和设置。计算器实现的功能有:数字0~9和小数点的输入显示,平方开方和对数的输入显示。进行四则运算、正弦函数、余弦函数、正切函数以及反正弦函数、反余弦函数、反正切函数的计算等等。最后运行调试,实现基于MatlabGUI的计算器的设计。 关键词:MatlabGUI计算器 Abstracts Based on Matlab GUI calculator design using the user interface to create images of GUI calculator design.Design calculator, mainly considering the ease of use, function calculators calculator interface and function of the common level of design.By adjusting the control and the layout of the text and color, make the interface simple and easy, rational layout, to achieve the effect of friendly interface. Calculator design used to get and set two main function for each attribute value transfer and control Settings.Calculator the functions are: 0 ~ 9, according to input and decimal square root and logarithm of input.Arithmetic, sine function and cosine function, tangent function and the arcsine function,arccosine function, the calculation of the arctangent function and so on.Finally running debugging, implementation design based on Matlab GUI calculator. Keywords: Matlab GUI calculator

利用MATLAB进行回归分析

利用MATLAB进行回归分析 一、实验目的: 1.了解回归分析的基本原理,掌握MATLAB实现的方法; 2. 练习用回归分析解决实际问题。 二、实验内容: 题目1 社会学家认为犯罪与收入低、失业及人口规模有关,对20个城市的犯罪率y(每10万人中犯罪的人数)与年收入低于5000美元家庭的百分比1x、失业率2x和人口总数3x(千人)进行了调查,结果如下表。 (1)若1x~3x中至多只许选择2个变量,最好的模型是什么? (2)包含3个自变量的模型比上面的模型好吗?确定最终模型。 (3)对最终模型观察残差,有无异常点,若有,剔除后如何。 理论分析与程序设计: 为了能够有一个较直观的认识,我们可以先分别作出犯罪率y与年收入低于5000美元家庭的百分比1x、失业率2x和人口总数 x(千人)之间关系的散点图,根据大致分布粗略估计各因素造 3 成的影响大小,再通过逐步回归法确定应该选择哪几个自变量作为模型。

编写程序如下: clc; clear all; y=[11.2 13.4 40.7 5.3 24.8 12.7 20.9 35.7 8.7 9.6 14.5 26.9 15.7 36.2 18.1 28.9 14.9 25.8 21.7 25.7]; %犯罪率(人/十万人) x1=[16.5 20.5 26.3 16.5 19.2 16.5 20.2 21.3 17.2 14.3 18.1 23.1 19.1 24.7 18.6 24.9 17.9 22.4 20.2 16.9]; %低收入家庭百分比 x2=[6.2 6.4 9.3 5.3 7.3 5.9 6.4 7.6 4.9 6.4 6.0 7.4 5.8 8.6 6.5 8.3 6.7 8.6 8.4 6.7]; %失业率 x3=[587 643 635 692 1248 643 1964 1531 713 749 7895 762 2793 741 625 854 716 921 595 3353]; %总人口数(千人) figure(1),plot(x1,y,'*'); figure(2),plot(x2,y,'*'); figure(3),plot(x3,y,'*'); X1=[x1',x2',x3']; stepwise(X1,y) 运行结果与结论:

相关主题
文本预览
相关文档 最新文档