熟悉matlab工作环境实验报告,MATLAB上机实验实验报告

精品文档

MATLAB上机实验一

一、实验目的

初步熟悉 MATLAB 工作环境,熟悉命令窗口,学会使用帮助窗口查找帮助信息。

命令窗口

二、实验内容

(1) 熟悉MATLAB 平台的工作环境。

(2) 熟悉MATLAB 的5 个工作窗口。

(3) MATLAB 的优先搜索顺序。

三、实验步骤

1. 熟悉MATLAB 的5 个基本窗口

① Command Window (命令窗口)

② Workspace (工作空间窗口)

③ Command History (命令历史记录窗口)

④ Current Directory (当前目录窗口)

⑤ Help Window (帮助窗口)

(1) 命令窗口(Command Window)。

在命令窗口中依次输入以下命令:

>>x=1

>> y=[1 2 3

4 5 6

7 8 9];

>> z1=[1:10],z2=[1:2:5];

>> w=linspace(1,10,10);

>> t1=ones(3),t2=ones(1,3),t3=ones(3,1)

>> t4=ones(3),t4=eye(4)

x =1

z1 =

1 2 3 4 5 6 7 8 9 10

t1 =

1 1 1

1 1 1

1 1

t2 =

1 1 1

t3 =

1

1

1

t4 =

1 1 1

1 1 1

1 1 1

t4 =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

思考题:① 变量如何声明,变量名须遵守什么规则、是否区分大小写。

答:(1)变量声明

1.局部变量

每个函数都有自己的局部变量,这些变量只能在定义它的函数内部使用。当函数运行时,局部变量保存在函数的工作空间中,一旦函数退出,这些局部变量将不复存在。

脚本(没有输入输出参数,由一系列MATLAB命令组成的M文件)没有单独的工作空间,只能共享调用者的工作空间。当从命令行调用,脚本变量存在基本工作空间中;当从函数调用,脚本变量存在函数空间中。

2.全局变量

在函数或基本工作空间内,用global声明的变量为全局变量。例如声明a为全局变量:

>>global a

声明了全局变量的函数或基本工作空间,共享该全局变量,都可以给它曲赋值。

如果函数的子函数也要使用全局变量,也必须用global声明。

3.永久变量

永久变量用persistent声明,只能在M文件函数中定义和使用,只允许声明它的函数存取。当声明它的函数退出时,MATLAB不会从内存中清除它,例如声明a为永久变量:

>>persistent a

(2)变量命名规则如下:

始于字母,由字母、数字或下划线组成;

区分大小写;

可任意长,但使用前N个字符。N与硬件有关,由函数namelengthmax返回,一般N=63;

不能使用关键字作为变量名(关键字在后面给出);

避免使用函数名作为变量名。

如果变量采用函数名,该函数失效。

(3)区分大小写

② 试说明分号、逗号、冒号的用法。

答:分号:加上分号“;”其作用是将计算机结果存入内存,但不显示在屏幕上,反之,语句结尾若不加“;”,则表示在语句执行后,在将计算结果存入内存的同时,还将运算结果显示出来。

逗号:分割列表

冒号:从什么到什么,比如1:10意思是——1到10

③ linspace( )称为“线性等分”函数,说明它的用法。可使用help命令,格式如下:

>>help linspace

④ 说明函数ones( )、zeros( )、eye( ) 的用法。

答;(1)ones()函数:全部元素都为1的常数矩阵; (2)zeros()函数:全部元素都为0的矩阵; (3)eye()函数:单位矩阵; (4)linspace()函数:如a=linspace(n1,n2,n3),表示在线性空 间上,行矢量的值从n1到n2

(2) 工作空间窗口(Workspace)。

单击工作空间窗口右上角的按钮,将其从MATLAB 主界面分离出来。

① 在工作空间查看各个变量,或在命令窗口用who, whos(注意大小写)查看各个

变量。

② 在工作空间双击变量,弹出Array Editor 窗口(数组编辑器窗口),即可修改变量。

③ 使用save 命令把工作空间的全部变量保存为my_var.mat 文件。

>>save my_var.mat

④ 输入下列命令:

>>clear all %清除工作空间的所有变量

观察工作空间的变量是否被清空。使用load 命令把刚才保存的变量载入工作空间。

>>load my_var.mat

⑤ 清除命令窗口命令:

>>clc

(3) 历史命令窗口(Command History)。

打开历史命令窗口,可以看到每次运行MATLAB 的时间和曾在命令窗口输入过的命

令,练习以下几种利用历史命令窗口重复执行输入过的命令的方法。

① 在历史命令窗口中选中要重复执行的一行或几行命令,右击,出现快捷菜单,选择

Copy,然后再Paste 到命令窗口。

② 在历史命令窗口中双击要执行的一行命令,或者选中要重复执行的一行或几行命令

后,用鼠标将其拖动到命令窗口中执行。

③ 在历史命令窗口中选中要重复执行的一行或几行命令,右击,出现快捷菜单,选择

Evaluate Selection,也可以执行。

④ 或者在命令窗口使用方向键的上下键得到以前输入的命令。例如,按方向键“↑”

一次,就重新将用户最后一次输入的命令调到MATLAB 提示符下。重复地按方向上键

“↑”,就会在每次按下的时候调用再往前一次输入的命令。类似地,按方向键“↓”的时

候,就往后调用一次输入的命令。按方向键“←”或者方向键“→”就会在提示符的命令

中左右移动光标,这样用户就可以用类似于在字处理软件中编辑文本的方法编辑这些命令。

(4) 当前目录命令窗口(Current Directory)。

MATLAB 的当前目录即是系统默认的实施打开、装载、编辑和保存文件等操作时的文

件夹。打开当前目录窗口后,可以看到用“save”命令所保存的my_var.mat 文件是保存在

目录C:\MATLAB6p5\work 下。

(5) 帮助窗口(Help Window)。

单击工具栏的图标,或选择菜单View|Help,或选择菜单Help|MATLAB Help 都能

启动帮助窗口。

① 通过Index 选项卡查找log2()函数的用法,在Search index for 栏中输入需要查找的

词汇“log2”,在左下侧就列出与之最匹配的词汇条目,选择“log2[1]”,右侧的窗口就

会显示相应的内容。

② 也可以通过Search 选项卡查找log2( )函数的用法。Search 选项卡与Index 选项卡

不同,Index 只在专用术语表中查找,而Search 搜索的是整个HTML 帮助文件。

2. MATLAB 的数值显示格式设置

屏幕显示方式有紧凑(Compact)和松散(Loose)两种,其中Loose 为默认方式。

>>a=ones(1,30)

>>format compact

>>a

数字显示格式有short、long、short e、long e 等,请参照教材的列表练习一遍。

>>format long

>>pi

>>format short

>>pi

>>format long

>>pi

>>format +

>>pi

>>-pi

3. 变量的搜索顺序

在命令窗口中输入以下指令:

>>pi

>>sin(pi);

>>exist(pi)

>>pi=0;

>>exist(pi)

>>pi

>>clear pi

>>exist(pi)

>>pi

思考题:① 3 次执行exist(pi)的结果一样吗?如果不一样,试解释为什么?

答:不一样,pi原来是库存函数,但是如果被赋值则系统默认被赋予的值为pi后来的值,但是当执行clear pi之后所赋的值被清空,因此pi的值又成为3.1416

② 圆周率pi 是系统的默认常量,为什么会被改变为0?

答:pi原来是库存函数,但是如果被赋值则系统默认被赋予的值为pi后来的值,但是当执行clear pi之后所赋的值被清空,因此pi的值又成为3.1416

实验二 MATLAB语言基础

1、 实验目的

基本掌握MATLAB向量、矩阵、数组的生成及其基本运算(区分数组运算和矩阵运算)、常用的数学函数。交接字符串的操作。

2、 实验内容

(1) 向量的生成和运算。

(2) 矩阵的创建、引用和运算。

(3) 多维数组的创建及运算。

(4) 字符串的操作。

三、实验步骤

1.向量的生成和运算

1) 向量的生成

直接输入法:

A =

2 3 4 5 6

>> B=[1;2;3;4;5]

B =

1

2

3

4

5

冒号生成发:

>> A=1:2:10 ,B=1:10 ,C=10:-1:1

A =

1 3 5 7 9

B =

1 2 3 4 5 6 7 8 9 10

C =

10 9 8 7 6 5 4 3 2 1

函数法:

Linspace( )是线性等分函数,logspace( )是对数等分函数。

>> A=linspace(1,10) ,B=linspace(1,30,10)

A =

Columns 1 through 9

1.0000 1.0909 1.1818 1.2727 1.3636 1.4545 1.5455 1.6364 1.7273

Columns 10 through 18

1.8182 1.9091 2.0000 2.0909 2.1818 2.2727 2.3636 2.4545 2.5455

Columns 19 through 27

2.6364 2.7273 2.8182 2.9091 3.0000 3.0909 3.1818 3.2727 3.3636

Columns 28 through 36

3.4545 3.5455 3.6364 3.7273 3.8182 3.9091 4.0000 4.0909 4.1818

Columns 37 through 45

4.2727 4.3636 4.4545 4.5455 4.6364 4.7273 4.8182 4.9091 5.0000

Columns 46 through 54

5.0909 5.1818 5.2727 5.3636 5.4545 5.5455 5.6364 5.7273 5.8182

Columns 55 through 63

5.9091 6.0000 6.0909 6.1818 6.2727 6.3636 6.4545 6.5455 6.6364

Columns 64 through 72

6.7273 6.8182 6.9091 7.0000 7.0909 7.1818 7.2727 7.3636 7.4545

Columns 73 through 81

7.5455 7.6364 7.7273 7.8182 7.9091 8.0000 8.0909 8.1818 8.2727

Columns 82 through 90

8.3636 8.4545 8.5455 8.6364 8.7273 8.8182 8.9091 9.0000 9.0909

Columns 91 through 99

9.1818 9.2727 9.3636 9.4545 9.5455 9.6364 9.7273 9.8182 9.9091

Column 100

10.0000

B =

Columns 1 through 9

1.0000 4.2222 7.4444 10.6667 13.8889 17.1111 20.3333 23.5556 26.7778

Column 10

30.0000

>> A=logspace(0,4,5)

A =

1 10 100 1000 10000

练习: 使用logspace( )创建1-4的有10个元素的行向量。

答案:

>> A=logspace(1,10,4*pi)

A =

1.0e+010 *

Columns 1 through 9

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0005 0.0035

Columns 10 through 12

0.0231 0.1520 1.0000

2) 向量的运算

维数相同的行向量只见可以相加减,维数相同的列向量也可以相加减,标量可以与向量直接相乘除。

>> A=[1 2 3 4 5], B=3:7,

A =

1 2 3 4 5

B =

3 4 5 6 7

>> AT=A, BT=B,

AT =

1

2

3

4

5

BT =

3

4

5

6

7

>> E1=A+B, E2=A-B

E1 =

4 6 8 10 12

E2 =

-2 -2 -2 -2 -2

>> F=AT-BT,

F =

-2

-2

-2

-2

-2

>> G1=3*A, G2=B/3,

G1 =

3 6 9 12 15

G2 =

1.0000 1.3333 1.6667 2.0000 2.3333

向量的点积与叉积运算。

>> A=ones(1,10);B=(1:10); BT=B;

>> E1=dot(A,B)

E1 =

55

>> E2=A*BT

E2 =

55

>> clear

>> A=1:3,B=3:5,

A =

1 2 3

B =

3 4 5

>> E=cross(A,B)

E =

-2 4 -2

2. 矩阵的创建、引用和运算

1) 矩阵的创建和引用

矩阵是由元素构成的矩阵结构,行向量和列向量是矩阵的特殊形式。

直接输入法:

>> A=[1 2 3;4 5 6]

A =

1 2 3

4 5 6

>> B=[ 1 4 7

2 5 8

3 6 9 ]

B =

1 4 7

2 5 8

3 6 9

>> A(1)

ans =

1

>> A(4:end)

ans =

5 3 6

>> B(:,1)

ans =

1

2

3

>> B(:)

ans =

1

2

3

4

5

6

7

8

9

>> B(5)

ans =

5

抽取法

>> clear

>> A=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16]

A =

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

>> B=A(1:3,2:3)

B =

2 3

6 7

10 11

>> C=A([1 3],[2 4])

C =

2 4

10 12

>> A([1 3;2 4])

ans =

1 9

5 13

函数法:

>> A=ones(3,4)

A =

1 1 1 1

1 1 1 1

1 1 1 1

>> B=zero(3)

??? Undefined function or method zero for input arguments of type double.

>> B=zeros(3)

B =

0 0 0

0 0 0

0 0 0

>> C=eyes(3,2)

??? Undefined function or method eyes for input arguments of type double.

>> C=eye(3,2)

C =

1 0

0 1

0 0

>> D=magic(3)

D =

8 1 6

3 5 7

4 9 2

拼接法

>> clear

>> A=ones(3,4)

A =

1 1 1 1

1 1 1 1

1 1 1 1

>> B=zeros(3)

B =

0 0 0

0 0 0

0 0 0

>> C=eye(4)

C =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

>> D=[A B]

D =

1 1 1 1 0 0 0

1 1 1 1 0 0 0

1 1 1 1 0 0 0

>> F=[A;C]

F =

1 1 1 1

1 1 1 1

1 1 1 1

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

拼接函数和变形函数法:

>> clear

>> A=[0 1;1 1]

A =

0 1

1 1

>> B=2*ones(2)

B =

2 2

2 2

>> cat (1,A,B,A)

ans =

0 1

1 1

2 2

2 2

0 1

1 1

>> cat (2 A,B,A)

??? cat (2 A,B,A)

Error: Unexpected MATLAB expression.

>> cat(2,A,B,A)

ans =

0 1 2 2 0 1

1 1 2 2 1 1

>> repmat(A,2,2)

ans =

0 1 0 1

1 1 1 1

0 1 0 1

1 1 1 1

>> repmat(A,2)

ans =

0 1 0 1

1 1 1 1

0 1 0 1

1 1 1 1

练习:使用函数法、拼接法、拼接函数法和变形函数法,按照要求创建以下矩阵:A为 的全1矩阵、B为的0矩阵/C为的单位矩阵、D为的魔方阵、E由C 和D纵向拼接而成,F抽取E的2---5行元素生成、G由F经变形为的矩阵而得、 以G为子矩阵用复制函数(repmat)生成的大矩阵H。

答案:

>> A=ones(3,4)

A =

1 1 1 1

1 1 1 1

1 1 1 1

>> B=zeros(3,3)

B =

0 0 0

0 0 0

0 0 0

>> C=eye(3)

C =

1 0 0

0 1 0

0 0 1

>> D=magic(3)

D =

8 1 6

3 5 7

4 9 2

>> E=[C;D]

E =

1 0 0

0 1 0

0 0 1

8 1 6

3 5 7

4 9 2

>> F=(2:5,:)

??? F=(2:5,:)

Error: Expression or statement is incorrect--possibly unbalanced (, {, or [.

>> F=E(2:5,:)

F =

0 1 0

0 0 1

8 1 6

3 5 7

>> G=respace(E,3,4)

??? Undefined command/function respace.

>> G=respace(F,3,4)

??? Undefined command/function respace.

>> G=reshape(F,3,4)

G =

0 3 1 1

0 1 5 6

8 0 0 7

>> H=repmat(G,2,2)

H =

0 3 1 1 0 3 1 1

0 1 5 6 0 1 5 6

8 0 0 7 8 0 0 7

0 3 1 1 0 3 1 1

0 1 5 6 0 1 5 6

8 0 0 7 8 0 0 7

2) 矩阵的运算

矩阵的加减、数乘与乘法

已知矩阵:

>> A=[1 2

3 -1],

A =

1 2

3 -1

>> B=[-1 0

1 2]

B =

-1 0

1 2

>> A+B

ans =

0 2

4 1

>> 2*A

ans =

2 4

6 -2

>> 2*A-3*B

ans =

5 4

3 -8

>> A*B

ans =

1 4

-4 -2

矩阵的逆矩阵

>> format rat;A=[1 0 1;2 1 2;0 4 6]

A =

1 0 1

2 1 2

0 4 6

>> A1=inv(A)

A1 =

-1/3 2/3 -1/6

-2 1 0

4/3 -2/3 1/6

>> A*A1

ans =

1 0 0

0 1 0

0 0 1

矩阵的除法

>> a=[1 2 1;3 1 4;2 2 1],b=[1 1 2],d=b

a =

1 2 1

3 1 4

2 2 1

b =

1 1 2

d =

1

1

2

>> c1=b*inv(a),c2=b/a

c1 =

6/7 3/7 -4/7

c2 =

6/7 3/7 -4/7

>> c3=inv(a)*d, c4=a\b

c3 =

1

2/7

-4/7

??? Error using ==> mldivide

Matrix dimensions must agree.

>> c3=inv(a)*d, c4=a\d

c3 =

1

2/7

-4/7

c4 =

1

2/7

-4/7

练习: 按下列要求求出各种的矩阵运算的值

求矩阵的秩、特征值和特征向量、

矩阵的乘幂与开方;

矩阵的指数与对数

矩阵的提取与翻转

答案:

>> A=[6 3 4 3

-2 5 7 -4

8 -1 -3 -7]

A =

6 3 4 3

-2 5 7 -4

8 -1 -3 -7

>> B=rank(A)

B =

3

>> rb=rank(A)

rb =

3

>> [X,Lamda]=eig(A)

??? Error using ==> eig

Matrix must be square.

>> [X,Lamda]=eigs(A)

??? Error using ==> eigs

A must be a square matrix or a function which computes A*x.

>> C=[6 3 4

-2 5 7

8 -1 -3]

C =

6 3 4

-2 5 7

8 -1 -3

>> [X,Lamda]=eigs(C)

X =

0.8013 -0.1094 -0.1606

0.3638 -0.6564 0.8669

0.4749 0.7464 -0.4719

Lamda =

9.7326 0 0

0 -3.2928 0

0 0 1.5602

>> [X,Lamda]=eig(C)

X =

0.8013 -0.1094 -0.1606

0.3638 -0.6564 0.8669

0.4749 0.7464 -0.4719

Lamda =

9.7326 0 0

0 -3.2928 0

0 0 1.5602

>> [X,Lamda]=eig(C)

X =

0.8013 -0.1094 -0.1606

0.3638 -0.6564 0.8669

0.4749 0.7464 -0.4719

Lamda =

9.7326 0 0

0 -3.2928 0

0 0 1.5602

>> D=A^2

??? Error using ==> mpower

Matrix must be square.

>> D=C^2

D =

62 29 33

34 12 6

26 22 34

>> E=sqrtm(C)

E =

2.2447 + 0.2706i 0.6974 - 0.1400i 0.9422 - 0.3494i

-0.5815 + 1.6244i 2.1005 - 0.8405i 1.7620 - 2.0970i

1.9719 - 1.8471i -0.3017 + 0.9557i 0.0236 + 2.3845i

>> F=expm(C)

F =

1.0e+004 *

1.0653 0.5415 0.6323

0.4830 0.2465 0.2876

0.6316 0.3206 0.3745

>> G=logm(C)

Warning: Principal matrix logarithm is not defined for A with

nonpositive real eigenvalues. A non-principal matrix

logarithm is returned.

> In funm at 153

In logm at 27

G =

1.7129 + 0.4686i 0.5305 - 0.2425i 0.5429 - 0.6049i

1.1938 + 2.8123i 0.3658 - 1.4552i -0.5514 - 3.6305i

-0.0748 - 3.1978i 0.7419 + 1.6546i 1.8333 + 4.1282i

>> H=fliplr(C)

H =

4 3 6

7 5 -2

-3 -1 8

>> I=triu(C)

I =

6 3 4

0 5 7

0 0 -3

>> J=tril(C)

J =

6 0 0

-2 5 0

8 -1 -3

>> K=diag(C)

K =

6

5

-3

3. 多维数组的创建及运算

1) 多维数组的创建

>> A1=[1,2,3;4 5 6;7,8,9];A2=reshape([10:18],3,3)

A2 =

10 13 16

11 14 17

12 15 18

>> T1(:,:,1)=ones(3);T1(:,:,2)=zeros(3)

T1(:,:,1) =

1 1 1

1 1 1

1 1 1

T1(:,:,2) =

0 0 0

0 0 0

0 0 0

>> T2=ones(3,3,2)

T2(:,:,1) =

1 1 1

1 1 1

1 1 1

T2(:,:,2) =

1 1 1

1 1 1

1 1 1

>> T3=cat(3,A1,A2),T4=repmat(A1,[1,1,2])

T3(:,:,1) =

1 2 3

4 5 6

7 8 9

T3(:,:,2) =

10 13 16

11 14 17

12 15 18

T4(:,:,1) =

1 2 3

4 5 6

7 8 9

T4(:,:,2) =

1 2 3

4 5 6

7 8 9

2) 多维数组的创建

数组运算用小圆点加在运算符的前面表示,以区分矩阵的运算。特点是两个数组相对应的元素进行运算。

>> A=[1:6];B=ones(1,6);

>> C1=A+B,C2=A-B

C1 =

2 3 4 5 6 7

C2 =

0 1 2 3 4 5

>> C3=A.*B,C4=B./A,C5=A.\B

C3 =

1 2 3 4 5 6

C4 =

1.0000 0.5000 0.3333 0.2500 0.2000 0.1667

C5 =

1.0000 0.5000 0.3333 0.2500 0.2000 0.1667

关系运算或逻辑运算的结果都是逻辑值。

>> I=A>3,C6=A(I)

I =

0 0 0 1 1 1

C6 =

4 5 6

>> A1=A-3,I2=A1&A

A1 =

-2 -1 0 1 2 3

I2 =

1 1 0 1 1 1

>> I3=~I

I3 =

1 1 1 0 0 0

4. 字符串的操作

1) 字符串的创建

>> S1=Ilike MATLAB

S1 =

Ilike MATLAB

>> S2=Im a stuent.

S2 =

Im a stuent.

>> S3=[S2,and,S1]

S3 =

Im a stuent.andIlike MATLAB

2) 求字符串长度

>> length(S1)

ans =

12

>> size(S1)

ans =

1 12

3) 字符串与一维数值数组的相互转换

>> CS1=abs(S1)

CS1 =

73 108 105 107 101 32 77 65 84 76 65 66

>> CS2=double(S1)

CS2 =

73 108 105 107 101 32 77 65 84 76 65 66

>> char(CS2)

ans =

Ilike MATLAB

>> setstr(CS2)

ans =

Ilike MATLAB

练习:用char( )和向量生成的方法创建如下字符串AaBbCc......XxYyZz.

>> S1=65:90;S2=97:122;

>> C=[S1;S2];

>> C=C(:);

>> S3=double(C);char(S3)

ans =

AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz

实验三 MALTAB数值运算

一、实验目的

掌握MATLAB的数值运算及其运算中所用到的函数,掌握结构数组和细胞数组的操作。

二、实验内容

1) 多项式运算。

2) 多项式插值和拟合。

3) 数值为积分。

4) 结构数组和细胞数组。

三、实验步骤

1、多项式运算

1) 多项式表示。在MATLAB中,多项式表示成向量的形式。

如: 在MATLAB中表示为

>> s=[1 3 -5 0 9]

2) 多项式的加减法相当于向量的加减法,但必须注意阶次要相同。如不同,低阶次的要补0。如多项式与多项式相加。

>> s1=[0 0 2 3 11]

>> s2=[1 2 -5 4 7]

>> s3=s1+s2

答;s1 =

0 0 2 3 11

s2 =

1 2 -5 4 7

s3 =

1 2 -3 7 18

3) 多项式的乘、除法分别用函数conv和的deconv实现。

>> s1=[2 3 11]

>> s2=[1 3 -5 4 7]

>> s3=conv(s1,s2)

>> s4=deconv(s3,s1)

答;s1 =

2 3 11

s2 =

1 3 -5 4 7

s3 =

2 9 10 26 -29 65 77

s4 =

1 3 -5 4 7

4) 多项式求根用函数roots。

>> s1=[2 4 2]

>> roots(s1)

答;s1 =

2 4 2

ans =

-1

-1

5) 多项式求值用函数polyval

>> s1=[2 4 1 -3]

>> polyval(s1,3)

>> x=1:10

>> y=polyval(s1,x)

答;s1 =

2 4 1 -3

ans =

90

x =

1 2 3 4 5 6 7 8 9 10

y =

Columns 1 through 8

4 31 90 193 352 579 886 1285

Columns 9 through 10

练习:求的“商”及余数。

>> s1=[1 0 1];s2=[1 3];s3=[1 1];

>> s4=[1 0 2 1];

>> [q,r]=deconv(conv(conv(s1,s2),s3),s4)

答;q =

1 4

r =

0 0 2 -5 -1

2、多项式插值和拟合

有一组实验数据如附表1-1所示。

附表1-1

X

1

2

3

4

5

6

7

8

9

10

Y

16

32

70

142

260

436

682

1010

1432

1960

分别用拟合(二阶至三阶)和插值(线性和三次样条)的方法来估算X=9.5时Y的值。以下是实现一阶拟合的语句。

>> x=1:10

>> y=[16 32 70 142 260 436 682 1010 1342 1960]

>> p1=polyfit(x,y,1) %一阶拟合

>> y1=polyval(p1,9.5) %计算多项式P1在x=9.5的值

答;x =

1 2 3 4 5 6 7 8 9 10

y =

Columns 1 through 8

16 32 70 142 260 436 682 1010

Columns 9 through 10

1342 1960

p1 =

200.9818 -510.4000

y1 =

1.3989e+003

3、数值微积分

1) 差分使用diff函数实现。

>> x=1:2:9

>> diff(x)

答;x =

1

展开阅读全文

  • 9
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值