当前位置:文档之家› 第二讲 MATLAB基础知识

第二讲 MATLAB基础知识

第二讲 MATLAB基础知识
第二讲 MATLAB基础知识

第二讲 MATLAB基础知识

1.1 MATLAB 的安装

一般来说,安装很简单,运行setup.exe ,根据“安装向导”,完成安装。不够要注意以下几个问题:

* 不同版本和同一版本(分单机版和服务器版)的安装

(5.3,6.1,6.5,7.0,7.3,7.12)

* 对硬盘容量的要求比较大

* 与显卡的兼容性

* 与其它软件的兼容性,如Materials Studio等

* 在安装NOTEBOOK时,与WORD的衔接

1.2 MATLAB 的启动

有两种方法可启动MATLAB

(1)双击Windows桌面上MATLAB R2010α快捷方式图标

(2)开始-----程序-----MATLAB-----R2010α---- MATLAB R2010α

1.3 MATLAB 的操作桌面

指令窗,历史指令窗,当前目录浏览器,工作空间浏览器,内存数组编辑器,M文件编辑/调试器,帮助导航/浏览器

1.4 菜单命令

1File菜单

New 新建一个M文件、图形、变量、SIMULINK模型或GUI界面

Open…打开一个已经存在的M文件、图形或SIMULINK模型等

Close Command Window 关闭MATLAB命令窗口

Import Data…输入数据

Save Workspace As…将MATLAB工作空间的数据存盘保存

Set Path…打开路径浏览器

Preferences…参数设置对话框

Page Setup …页面设置 Print … 打印

Print Selection 打印指令窗所选定得内容 Exit MATLAB 退出MATLAB

2 Edit 菜单

3 Debug 菜单

4 Parallel 菜单

5 Desktop 菜单

6 Window 菜单

7 Help 菜单 1.5工具栏

其依次为: New Open

Cut Copy Paste Undo Redo Simlink GUIDE Profiler Help

1.6命令行方式操作入门

MATLAB 的运行方式有两种:命令行方式和M 文件方式 在命令窗口中介绍一些最简单的直接输入指令。 1 最简单的计算器使用法

【例1】求2

3)]47(212[÷-?+的算术运算结果。 (1)用键盘在MATLAB 指令窗中输入以下内容 sqrt((12+2*(7-4))/3^2)

(2)在上述表达式输入完成后,按【Enter 】键,该就指令被执行。 (3)在指令执行后,MATLAB 指令窗中将显示以下结果。 ans =

1.4142

说明:本例计算结果显示中的“ans ”是英文“answer ”的缩写,其含义是“运算答案”。它是MATLAB 的一个默认变量。

例2 简单矩阵????

??????=987654321A 的输入步骤。 (1)在键盘上输入下列内容

A = [1,2,3; 4,5,6; 7,8,9] (2)按【Enter 】键,指令被执行。

(3)在指令执行后,MATLAB 指令窗中将显示以下结果: A =

1 2 3 4 5 6 7 8 9 说明: ● 在全部输入一个指令行内容后,必须按【Enter 】键,该就指令被执行。

● 直接输入矩阵时,矩阵元素用空格或逗号“,”分隔,矩阵行用分号“;”隔离,整个矩阵放在方括号“[]”里。注意,标点符号一定要在英文状态下输入。 ● 在MATLAB 中,不必事先对矩阵维数做任何说明,存储时将自动配置。

指令执行后,矩阵A 被保存在MATLAB 的工作空间(Workspace)中。如果用户不用clear 指令清除它或对它重新赋值,那么该矩阵会一直保存在工作空间中,直到MATLAB 命令窗被关闭为止。 ●

MATLAB 对字母大小是敏感的。 例3 矩阵的分行输入 A=[1,2,3 4,5,6 7,8,9] (以下是显示结果) A =

1 2 3 4 5 6 7 8 9 说明: ● 在这种输入方法中,“回车”符用来分隔矩阵中的行。

MATLAB 采用表达式语言,用户输入的语句由MATLAB 系统解释运行。MATLAB 语句有两种最常见的形式: 表达式 变量=表达式

例4 指令的续行输入(以下格式在除Notebook 外的MATLAB 环境中可运行) S = 1 – 1/2 + 1/3 –1/4 + 1/5 – 1/6 ... + 1/7 – 1/8 S =

0.6345

说明:

●MATLAB用3个或3个以上的连续黑点表示“续行”,即表示下一行是上一行的继续。●本例在MATLAB命令窗种运行的情况,假如在Notebook中运行,则不能用“续行号”,

而只能任其自动“回绕”。

2 数值、变量和表达式

MATLAB有一些语法规范,先介绍若干规定。

(1) 数值的记述

MATLAB的数值采用习惯的十进制表示,可以带小数或符号。以下记述都合法;

2 -100 0.08 7.456 1.5e-6 8.4e28

在采用IEEE浮点算法的计算机上,数值的相对精度是eps,即大约保持有效数字16位。数值范围大致位10e-308~10e308

(2)变量命名规则

变量名、函数名对字母大小写敏感。如变量A和a是表示两个不同的变量;sin是MATLAB定义的函数名,而SIN,Sin等都不是。

变量名的第一个字母必须是英文字母,最多可包含31个字符(英文、数字和下连字符)。

变量名中不得包含空格、标点,但可以包含下连字符。

(3) MATLAB默认的预定义变量

在MATLAB中有一些预定义变量。每当MATLAB启动,这些变量自动存在。建议,用户在编写指令和程序时,应尽可能不用预定义变量名,以免产生混淆。

说明:

●假如用户对表中任何一个预定义变量中进行赋值,则那个变量的默认值将被用户新赋的值

“临时”覆盖。如果使用clear指令清除MATLAB内存中的变量,或MATLAB命令窗关闭后重新启动,那么所有的预定义变量将被重新设为默认值。

●在遵循IEEE算法规则的机器上,被0除是允许的。它不会导致程序执行的中断,只是在

给出警告信息的同时,用一个特殊名称(如Inf,NaN)记述。

(4) 表达式

MATLAB书写表达式的规则与“手写算式”几乎完全相同,具体是:

●表达式由变量名、运算符和函数名组成。

●表达式将按与常规相同的优先级自左向右执行运算。

●优先级的规定是:指数运算级别最高,乘法运算次之,加减运算级别最低。

●括号可以改变运算的次序。

●书写表达式时,赋值符“=”和运算符两侧允许有空格,以增加可读性。

3 复数和复数矩阵

●MATLAB认识复数,并用预定义变量i和j作为虚数单位。

●实现复数z=a+bi=re iθ直角坐标和极坐标之间的转换,指令如下:

real(z) 给出复数的实部

imag(z) 给出复数的虚部

abs(z) 给出复数的模

angle(z) 给出复数的相角

MATLAB矩阵元素允许有复数、复变量和由它们组成的表达式

例5 复数

i

e

z

i

z

i

z6

3

2

1

2

,2

1

,4

3

π

=

+

=

+

=表达,及计算

3

2

1

z

z

z

z=。

(1)经典教科书的直角坐标表示法

z1= 3 + 4i

z1 =

3.0000 +

4.0000i

(2)采用运算符构成的直角坐标表示法和极坐标表示法

z2 = 1 + 2 * i %运算符构成的直角坐标表示法

z3=2*exp(i*pi/6) %运算符构成的极坐标表示法

z=z1*z2/z3

z2 =

1.0000 +

2.0000i

z3 =

1.7321 + 1.0000i

z =

0.3349 + 5.5801i

例6 复数矩阵的生成及运算

A=[1,3;2,4]-[5,8;6,9]*i

B=[1+5i,2+6i;3+8*i,4+9*i]

C=A*B

A =

1.0000 - 5.0000i 3.0000 - 8.0000i

2.0000 - 6.0000i 4.0000 - 9.0000i

B =

1.0000 + 5.0000i

2.0000 + 6.0000i

3.0000 + 8.0000i

4.0000 + 9.0000i

C =

1.0e+002 *

0.9900 1.1600 - 0.0900i

1.1600 + 0.0900i 1.3700

例7 求上例复数矩阵C的实部、虚部、模和相角。

C_real=real(C)

C_imag=imag(C)

C_magnitude=abs(C)

C_phase=angle(C)*180/pi %以度为单位计算相角C_real =

99 116

116 137 C_imag = 0 -9 9 0 C_magnitude =

99.0000 116.3486 116.3486 137.0000 C_phase =

0 -4.4365 4.4365 0 4 计算结果的图形表示

计算结果可视化是MATLAB 的主要组成部分。MATLAB 图形指令具有自然、简洁、灵活及易扩展的特点。这里介绍几条简单的绘图指令。 例8 画出衰减振荡曲线

t e y t 3sin 3

-=及其它的包络线3

0t e y -

=。t 的取值范围是]4,0[π。

t=0:pi/50:4*pi; %定义自变量取值数组 y0=exp(-t/3); %计算与自变量相应的y0数组 y=exp(-t/3).*sin(3*t); %计算与自变量相应的y 数组

plot(t,y,'-r',t,y0,':b',t,-y0,':b') %用不同颜色、线型绘制曲线 grid %在“坐标纸”画小方格

图 1 衰减振荡曲线与包络

例9 画出2

2

22)

sin(y

x y x z

++=

所表示的三维曲面。y x ,的取值范围是]8,8[-。

clear;x=-8:0.5:8; %定义自变量x 的一维刻度向量 y=x'; %定义自变量y 的一维刻度向量 [X,Y]=meshgrid(x,y); %生成以x-y 为边网格坐标 R=sqrt(X.^2+Y.^2)+eps; %计算中间变量22y x R +=

<5>

Z=sin(R)./R; %计算与自变量二维数组相应的函数值R

R

z sin =

<6>

mesh(Z); %绘制三维网格图

colormap(hot) %指定网格图用hot色图绘制

图 2 三维网线图

1.7 M文件方式的操作入门

1 MATLAB的程序的编辑、调试和运行

进入编辑环境有两种方式:在MATLAB命令窗输入edit命令

从菜单进入File New M-file

例10 打印所有少于1000的

Fibonacci 数

f1=f2=1

f n=f n-1+f n-2 (n>=3)

/*计算少于1000的Fibonnaci

数*/

main()

{ long fib,fib1=1,fib2=1;

printf("%5d%5d",fib1,fib2);

while(fib1+fib2<1000)

{fib=fib1+fib2;

fib1=fib2;

fib2=fib;

printf("5d%",fib);

}

}

对于同一问题,上面用C语言和MATLAB语言编程,可比较其异同。

调试和运行程序使用debug 菜单中的命令

运行程序也可直接命令窗里直接敲“文件名”,按Enter 键

2 MATLAB程序的特点

●ASCII码文件

●文件名 *.m 的格式

●解释性编程语言

3 MATLAB 程序的分类

●脚本(命令文件):既不接受输入参数也不返回输出参数的M文件

●函数:能够接收并输出参数的M文件

函数M文件由以下几个部分组成:

函数的定义行(函数名和文件名必须相同):以关键词“function”开始,同时给出

函数名和参数

帮助文本的第一行

帮助文本的其它行

函数体

1.8 MATLAB的在线帮助

MATLAB提供强大的帮助系统,利用它进行自我学习。

1 帮助菜单

通过帮助菜单,可进入各种各样的帮助方式(MATLAB的帮助、桌面使用、命令窗口使用、网上资源及升级和演示程序),初步学习和掌握MATLAB。

2 帮助导航/浏览器

(1)Contents帮助文件目录窗

(2)Search搜索窗

3 DEMO帮助系统

4 帮助命令

helpwin helpdesk demo

help+函数名lookfor+关键词

help taylor

关于泰勒函数的使用说明的在线帮助

--- help for sym/taylor.m ---

TAYLOR Taylor series expansion.

TAYLOR(f) is the fifth order Maclaurin polynomial approximation to f. Three additional parameters can be specified, in almost any order.

TAYLOR(f,n) is the (n-1)-st order Maclaurin polynomial.

TAYLOR(f,a) is the Taylor polynomial approximation about point a.

TAYLOR(f,x) uses the independent variable x instead of FINDSYM(f).

Examples:

taylor(exp(-x)) returns

1-x+1/2*x^2-1/6*x^3+1/24*x^4-1/120*x^5

taylor(log(x),6,1) returns

x-1-1/2*(x-1)^2+1/3*(x-1)^3-1/4*(x-1)^4+1/5*(x-1)^5

taylor(sin(x),pi/2,6) returns

1-1/2*(x-1/2*pi)^2+1/24*(x-1/2*pi)^4

taylor(x^t,3,t) returns

1+log(x)*t+1/2*log(x)^2*t^2

See also findsym, symsum.

syms x

taylor(sin(x))

ans =x-1/6*x^3+1/120*x^5

lookfor timer

查找包含“计时器”这个关键词的所有指令

TIMERFIND Find visible timer objects with specified property values.

TIMERFINDALL Find all timer objects with specified property values.

TIC Start a stopwatch timer.

TOC Read the stopwatch timer.

DAQTIMERPLOT Plots the data acquired.

GPT_PARAMS calculates C166 General Purpose Timer parameters

DELETE Remove timer object from memory.

DISP Display method for timer objects.

DISPLAY Display method for timer objects.

END Last index in an indexing expression of timer object array.

FIELDNAMES Get timer object property names.

GET Get timer object properties.

HORZCAT Horizontal concatenation of timer objects.

INSPECT Open the inspector and inspect timer object properties.

ISEMPTY True for empty timer arrays

ISEQUAL True if timer object arrays are equal.

ISVALID Determine if timer object is valid.

LENGTH Length of timer object array.

LOADOBJ Load filter for timer objects.

NE ~= Not equal for timer objects.

OPENVAR Open a timer object for graphical editing.

SET Configure or display timer object properties.

SIZE Size of timer object array.

START Start timer(s) running.

STARTAT Start timer(s) running at the specified time.

STOP Stop timer(s).

SUBSASGN Subscripted assignment into timer objects.

SUBSREF Subscripted reference into timer objects.

TIMER Construct timer object.

TIMERCB Wrapper for timer object M-file callback.

TIMERFIND Find visible timer objects with specified property values.

TIMERFINDALL Find all timer objects with specified property values.

VERTCAT Vertical concatenation of timer objects.

WAIT Wait until the timer stops running.

WAITFOR Wait until the timer stops running.

fixlasterr modifies the lasterr to hide any java timer object references.

getSettableValues gets all the settable values of a timer object array

ISJAVATIMER Returns logical indicating if object is a Java timer resetValues resets the properties of a timer object

TIMERERROR Returns the error messages for the timer object

DEFXPCTIMER - xPC Target private function

stopxpctimer.m: % STOPXPCWTIMER - xPC Target private function.

tic

A=rand(1000,1000);

b=rand(1000,1);

x=A\b;

t=toc

t =

0.4220

tic

A=rand(5000,5000);

b=rand(5000,1);

x=A\b;

t=toc

t =

24.9220

MATLAB基础教程 薛山第二版 课后习题答案

《MATLAB及应用》实验指导书《MATLAB及应用》实验指导书 班级:T1243-7 姓名:柏元强 学号:20120430724 总评成绩: 汽车工程学院 电测与汽车数字应用中心

目录 实验04051001 MATLAB语言基础 (1) 实验04051002 MATLAB科学计算及绘图 (18) 实验04051003 MATLAB综合实例编程 (31)

实验04051001 MATLAB语言基础 1实验目的 1)熟悉MATLAB的运行环境 2)掌握MATLAB的矩阵和数组的运算 3)掌握MATLAB符号表达式的创建 4)熟悉符号方程的求解 2实验内容 第二章 1.创建double的变量,并进行计算。 (1)a=87,b=190,计算 a+b、a-b、a*b。 clear,clc a=double(87); b=double(190); a+b,a-b,a*b (2)创建 uint8 类型的变量,数值与(1)中相同,进行相同的计算。 clear,clc a=uint8(87); b=uint8(190); a+b,a-b,a*b 2.计算:

(1) () sin 60 (2) e3 (3) 3cos 4??π ??? clear,clc a=sind(60) b=exp(3) c=cos(3*pi/4) 3.设2u =,3v =,计算: (1) 4 log uv v (2) () 2 2 e u v v u +- (3) clear,clc u=2;v=3; a=(4*u*v)/log(v) b=((exp(u)+v)^2)/(v^2-u) c=(sqrt(u-3*v))/(u*v) 4.计算如下表达式: (1) ()() 3542i i -+ (2) () sin 28i - clear,clc (3-5*i)*(4+2*i) sin(2-8*i)

薛山matlab基础教程第三版习题解答2

第2章习题参考答案 1.创建double的变量,并进行计算。 (1)a=87,b=190,计算a+b、a-b、a*b。 (2) 创建uint8 类型的变量,数值与(1)中相同,进行相同的计算。参考答案: (1) >> a=87 a = 87 >> b=190 b = 190 >> a+b ans = 277 >> a-b ans = -103 >> a*b ans = 16530 (2) >> c=uint8(87) c = 87 >> d=uint8(190) d = 190 >> c+d ans = 255 >> c-d ans = >> c*d ans = 255 2.计算: (1) () sin60o (2) e3

(3) 3cos 4??π ??? 参考答案: (1) >> sind(60) ans = 0.8660 (2) >> exp(3) ans = 20.0855 (3) >> cos(3*pi/4) ans = -0.7071 3.设2u =,3v =,计算: (1) 4log uv v (2) ()22e u v v u +- (3) 参考答案: (1) >> u=2; >> v=3; >> 4*u*v/log(v) ans = 21.8457 (2) >> (exp(u)+v)^2/(v^2-u) ans = 15.4189 (3) >> sqrt(u-3*v)/(u*v) ans = 0 + 0.4410i

4.计算如下表达式: (1) ()() i i -+ 3542 (2) () - sin28i 参考答案: (1) >> (3-5*i)*(4+2*i) ans = 22.0000 -14.0000i (2) >> sin(2-8*i) ans = 1.3553e+03 + 6.2026e+02i 5.判断下面语句的运算结果。 (1)4 < 20 (2)4 <= 20 (3)4 == 20 (4)4 ~= 20 (5)'b'<'B' 参考答案: (1) >> 4<20 ans = 1 (2) >> 4<=20 ans = 1 (3) >> 4==20 ans = (4) >> 4~=20 ans = 1 (5) >> 'b'<'B'

matlab基础知识

第2章基础知识 本章着重介绍MATLAB的一些基础知识,包括数据类型、基本矩阵操作、运算符和字符串处理函数。本章是MATLAB编程的基础。 2.1 数据类型 MATLAB中定义了很多种数据类型,包括字符、数值、单元、结构、java类、函数句柄等类型,用户还可以自己定义数据类型。 在MATLAB中有15种基本数据类型,每种基本数据类型均以数组/矩阵的形式出现,该矩阵可以是最小的0*0矩阵到任意大小的n维矩阵。 1.数值类型 数值类型包含整数、浮点数和复数3种类型。另外MATLAB还定义了Inf和NaN两个特殊数值。 (1)整数类型 MATLAB支持1、2、4和8字节的有符号整数和无符号整数。这8种数据类型的名称、表示范围、转换函数如表2-1所示,其中转换函数可以把其它数据类型的数值强制转换为对应的整数类型。尽可能使用字节少的数据类型,这样可以节约存储空间和提高运算速度。 表2-1 整数类型 名称范围转换函数名称范围转换函数 有符号1字节整数int8() 无符号1字节整数uint8() 有符号2字节整数int16() 无符号2字节整数uint16() 有符号4字节整数int32() 无符号4字节整数uint32() 有符号8字节整数int64() 无符号8字节整数uint64() (2)浮点数类型 MATLAB有单精度和双精度两种浮点数,其中双精度浮点数为MATLAB默认的数据类型。这2种数据类型的名称、存储空间、表示范围和转换函数如表2-2所示。

表2-2 浮点数类型 名称存储空间表示范围转换函数 单精度浮点数4字节single() 双精度浮点数8字节double() (3)复数类型 复数包含实部和虚部。在MATLAB中可以用i或j来表示虚部。 例如:在命令窗口中用赋值语句产生复数5+10i,代码如下: A=5+10i 例如:在命令窗口用函数complex()产生复数5+10i,具体代码如下: X=5; Y=10; z=complex(x,y) (4)Inf和NaN 在MATLAB中用Inf和-Inf分别表示正无穷大和负无穷大。除法运算中除数为0或者运算结果溢出都会导致inf或-inf的运行结果。 在MATLAB中用NaN(not a number)来表示一个既不是实数也不是复数的数值。类似0/0、inf/inf等运算产生的结果均为NaN。 2.逻辑类型 在MATLAB中逻辑类型包括true和false,分别由1和0表示。在MATLAB中用函数logical()将任何非零的数值转换为true(即1),将数值0转换为false(即0)。 3.字符和字符串类型 在MATLAB中,数据类型(char)表示一个字符。一个char类型的1*n数组称为字符串string。用单引号对表示字符串。 例如:str=‘I am a great person’

Matlab基础教程

1-1、基本运算与函数 在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如: >> (5*2+1.3-0.8)*10/25 ans =4.2000 MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。 小提示: ">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。 我们也可将上述运算式的结果设定给另一个变数x: x = (5*2+1.3-0.8)*10^2/25 x = 42 此时MATLAB会直接显示x的值。由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。 小提示: MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。MATLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MATLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。 若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例: y = sin(10)*exp(-0.3*4^2);

若要显示变数y的值,直接键入y即可: >>y y =-0.0045 在上例中,sin是正弦函数,exp是指数函数,这些都是MATLAB常用到的数学函数。 下表即为MATLAB常用的基本数学函数及三角函数: 小整理:MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数 ceil(x):天花板函数,即加入正小数至最近整数 rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开

Matlab基础知识点汇总

MATLAB讲义 第一章 MATLAB系统概述 1.1 MATLAB系统概述 MATLAB(MATrix LABoratory)矩阵实验室的缩写,全部用C语言编写。 特点: (1)以复数矩阵作为基本编程单元,矩阵运算如同其它高级语言中的语言变量操作一样方便,而且矩阵无需定义即可采用。 (2)语句书写简单。 (3)语句功能强大。 (4)有丰富的图形功能。如plot,plot3语句等。 (5)提供了许多面向应用问题求解的工具箱函数。目前,有20多个工具箱函数,如信号处理、图像处理、控制系统、系统识别、最优化、神经网络的模糊系统等。 (6)易扩充。 1.2 MATLAB系统组成 (1)MATLAB语言 MATLAB语言是高级的矩阵、矢量语言,具有控制流向语句、函数、数据结构、输入输出等功能。同时MATLAB又具有面向对象编程特色。MATLAB语言包括运算符和特殊字符、编程语言结构、字符串、文件输入/输出、时间和日期、数据类型和结构等部分。 (2)开发环境 MATLAB开发环境有一系列的工具和功能体,其部分具有图形用户界面,包括MATLAB桌面、命令窗口、命令历史窗口、帮助游览器、工作空间、文件和搜索路径等。 (3)图形处理 图形处理包括二维、三维数据可视化,图像处理、模拟、图形表示等图形命令。还包括低级的图形命令,供用户自由制作、控制图形特性之用。 (4)数学函数库 有求和、正弦、余弦等基本函数到矩阵求逆、求矩阵特征值和特征矢量等。 MATLAB数学函数库可分为基本矩阵和操作、基本数学函数、特殊化数学函数、线性矩阵函数、数学分析和付里叶变换、多项式和二重函数等。 (5)MATLAB应用程序接口(API) MATLAB程序可以和C/C++语言及FORTRAN程序结合起来,可将以前编写的C/C++、FORTRAN语言程序移植到MATLAB中。 1.3 MATLAB的应用围包括: MATLAB的典型应用包括: ●数学计算 ●算法开发 ●建模、仿真和演算 ●数据分析和可视化 ●科学与工程绘图 ●应用开发(包括建立图形用户界面) 以矩阵为基本对象 第二章 Matlab基础

Matlab入门基础知识整理

MATLAB基础知识 MATLAB的主要功能 1.数值计算和符号计算功能 例如,求解线性方程组 在MATLAB命令窗口输入命令: a=[2,3,-1;3,-5,3;6,3,-8]; b=[7;8;9]; x=inv(a)*b 也可以通过符号计算来解此方程 syms x1 x2 x3 [x1,x2,x3]=solve(2*x1+3*x2-x3-7,3*x1-5*x2+3*x3-8,6*x1+3*x2-8*x3-9) 2.绘图功能 例如,分别绘制函数y=300sinx/x和y=x2的曲线 x=-20:0.1:20; plot(x,300*sin(x)./x,':',x,x.^2); 3.程序设计语言功能 MATLAB是解释性语言,程序执行速度较慢,而且不能脱离MATLAB环境而独立运行。MathWorks公司提供了将MATLAB源程序编译为独立于MATLAB集成环境运行的EXE文件以及将MATLAB程序转化为C语言程序的编译器。4.扩展功能 MATLAB包含两部分内容:基本部分和各种可选的工具箱。 基本部分构成了MATLAB的核心内容,也是使用和构造工具箱的基础。 工具箱扩展了MATLAB的功能。 功能性工具箱 学科性工具箱 MATLAB的集成开发环境 命令窗口(Command Window)用于输入命令并显示除图形以外的所有执行结果。一般来说,一个命令行输入一条命令,命令行以回车或分号结束 但一个命令行也可以输入若干条命令,各命令之间以逗号或分号隔开 如果一个命令行很长,一个物理行之内写不下,可以在第1个物理行之后加上3个小黑点并按下回车键,然后接着下一个物理行继续写命令的其他部分。3个小黑点称为续行符,即把下面的物理行看作该行的逻辑继续。例如: z=1+1/(1*2)+1/(1*2*3)+1/(1*2*3*4)+ … 1/(1*2*3*4*5) 工作空间(Workspace)是MATLAB用于存储各种变量的内存空间。 当前目录(Current Directory)是指MATLAB运行时的工作目录,只有在当前目录下的文件、函数才可以被运行或调用。 如果没有特殊指明,数据文件也将存放在当前目录下。 命令历史窗口 自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询。而且,通过双击命令可进行历史命令的再运行。 MATLAB的帮助功能 进入MATLAB帮助界面可以通过以下方法。 ●单击MATLAB主窗口工具栏中的Help按钮。

MATLAB基础知识考试复习总结

第一章MATLAB基础 1系统仿真是根据被研究的真实系统的数学模型研究系统性能的一门学科,现在尤指利用计算机去研究数学模型行为的方法,即数值仿真。 2MATLAB集计算,可视化及编程于一身。其主要产品模块构成:(1)MATLAB(2)MATLABtoolbox(3)MATLAB Compiler(4)simulink(5)stateflow(6)Real-Time Workshop。 3MATLAB语言被称为第四代计算机语言。有以下几个主要特点:编程效率高;使用方便;高效方便的科学计算;先进的可视化工具;开放性、可扩展性强;运行时动态连接外部C或FORTRAN应用函数;在独立C或FORTRAN程序中调用MATLAB 函数;输入输出各种MATLAB及其他标准格式的数据文件;创建图文并茂的技术文档;特殊应用工具箱;高效仿真工具Smulink。 4变量命名规则:变量名、函数名对字母大小写敏感;变量名第一个字母必须是英文字母(只能是英文、数字和下连线)。 5 real(z)求复数Z实部 imag(Z)求复数Z虚部 abs(z) 求复数Z的模angle(Z)求复数Z的相角(单位是弧度) callback回校函数mdata=csvread(‘engdata.txt’) clc清除指令窗 clf清除图形窗 cd设置当前工作目录clear清除工作空间保存的变量 edit打开M文件编辑器exit、quit关闭、退出MATLAB 6 c=3+5i c=3+5*i (a=3;b=5;c=a+b*i) 1.3e-4 2.78e23 A.’转置S.*B S./B B.\S A.^n 7Command History(历史指令)窗记录着用户在命令指令窗中所输入过的所有指令行,且所有这些被记录的指令行都能被复制,并送到指令窗中再运行。 8Workspace Browser(工作空间浏览器)也叫内存浏览器,他保存了指令窗所使用过的全部变量(除非有意删除),可通过该浏览器对内存变量进行操作。 10点击MATLAB桌面工具条上的?图标,或选择下拉菜单项【Help】,都能提供帮助;MATLAB还提供现场帮助,用鼠标点亮指令并点击右键,在弹出的菜单中选择【Help On Selection】。 第二章数据及其运算 1简单数组生成方法:逐个元素输入法;冒号生成法[x=a:intc:b]; [x=linspace(a,b,n)]=[a:(b-a)/(n-1):b];logspace(w1,w2,n) 2>> diag([3,3,3])产生对角形数组 ans =3 0 0 0 3 0 0 0 3 >> eye(3) 产生单位数组 ans =1 0 0 0 1 0 0 0 1 >> magic(3) 产生魔方数组 a ns =8 1 6

第一章MATLAB基础知识

第一章MATLAB基础知识 1.1 MATLAB开发环境 1.MATLAB操作桌面 MATLAB4.0以上版本都是在Windows以上环境支持下操作与运行的,因此,这里必须假定读者对Windows有一定的了解和掌握。本书以Windows98环境,MATLAB6.5版本为例介绍。书中绝大多数例子在MA TLAB5.3版本中亦能使用. 要想进入MATLAB系统,方法有二: (1)在Windows98的桌面上双击MATLAB快捷图标。 (2)单击Windows98的“开始”按钮,再依次单击:程序/MA TLAB/MA TLAB6.5; 图1-1 MATLAB6.5除保留了传统的命令窗口外,还增加了启动平台窗口、工作空间窗口、命令历史窗口、当前路径窗口等窗口,与新的M文件编辑器和新的在线帮助浏览器等共同构成了MA TLAB6.5的开发环境。 MATLAB的开发环境是MATLAB语言的基础和核心部分,MATLAB语言的全部功能都是在MA TLAB的开发环境中实现的,MA TLAB的仿真工具Simulink、MATLAB

的工具箱等其他附加功能的实现也必须使用MATLAB开发环境,因此,掌握MATLAB 的开发环境是掌握MATLAB语言的关键。 启动MA TLAB后,将显示包括命令窗口、启动平台窗口、工作空间窗口、命令历史窗口和当前路径窗口等5个窗口和主菜单组成的操作桌面(图1-1)。本节对操作桌面的各个窗口作简要介绍,部分窗口的功能和使用将在以后的章节中详细介绍。 操作桌面缺省状态下显示3个窗口,当前路径和工作空间窗口在同一位置显示,可以通过该窗口下方的箭头或窗口标签来切换,命令历史窗口和当前目录窗口在同一位置显示,可以通过该窗口下方窗口标签来切换。每个窗可以脱离操作桌面独立出来。也可以通过菜单View来选择显示哪些窗口。 MATLAB还设定了几种特定的窗口布局方式,在View菜单的Desktop Layout选项中,给定了6种布局方式: Default(缺省方式) Command Window Only(只显示命命令窗口方式) Simple(简单方式,只有命令历史窗口和命令窗口) Short History(低命令历史窗口方式) Tall History(高命令历史窗口方式) Five Panel(5个窗口平铺方式) 2.MATLAB的通用参数设置 MATLAB的通用参数和各功能窗口的参数可以通过主菜单中的file/Preferences项设置,这里先介绍通用参数的设置。 在主菜单中选择Preferences项,打开Preferences窗口(图1-2),缺省状态为通用参数设置,其选项包括: Display(显示选择)Show tooltips(显示相关信息),当单选框选择后,鼠标放在工具栏的快捷按钮上时显示相关信息。 Toolbox caching(工具箱缓冲区)对于远程使用MATLAB的用户,应选择单选框Enable Toolbox caching(打开工具箱缓冲区),建立一个高速缓冲区,以提高使用速度,对单机用户该选项作用不大。 Figure window printing(图形窗口打印)有3个选项,分别为Use printer default(按打印机缺省设置输出)、Always send as black and white(按黑白图形输出)和Always send as color(按彩色图形输出)。

matlab

1.x=input('请输入一个四位整数:'); a=fix(x/1000); b=rem(fix(x/100),10); c=rem(fix(x/10),10); d=rem(x,10); a=a+7; b=b+7; c=c+7; d=d+7; a=rem(a,10); b=rem(b,10); c=rem(c,10); d=rem(d,10); e=a; a=c; c=e; f=b; b=d; d=f; x=1000*a+100*b+10*c+d; x 2.(1)a=input(‘请输入一个数’); b=input(‘请输入一个数’); c=input(‘请输入一个数’); If x>=0.5&&x<1.5 y=ax^2+bx+c elseif x>=1.5&&x<3.5 y=a(sinb)^c+x elseif x>=3.5&&x<5.5 y=log[abs(b+c/x)] end

disp y end (2)a=input(‘请输入一个数’); b=input(‘请输入一个数’); c=input(‘请输入一个数’); Switch x case[0.5,1.5] y=ax^2+bx+c case[1.5,3.5] y=a(sinb)^c+x case[3.5,5.5] y= log[abs(b+c/x)] end disp y 3. x=fix(rand(1,20)*89)+10; x1=fix(sum(x)/20); if xmax max=m; end if m

实验一matlab基础知识练习

本次实验包括四部分: 一、MATLAB语言矩阵运算 二、MATLAB的绘图 三、数字图像处理初步 四、Matlab的可视化界面设计 实验要求: 1、内容较多,课内做不完可以课外完成,要求写到实验报告上的内容包括: ●二、MATLAB的绘图的1、3 ●三、数字图像处理初步2、3 2、实验报告要求 ●实验目的 ●实验内容与步骤 ●实现代码与实验结果(实验效果图要求打印并贴在实验报告册上) ●实验分析 3、实验效果图上要求添加做实验同学的姓名,以防抄袭,效果如三、2所示 4、实验报告在下周上课前交上

一、MATLAB 语言矩阵运算 1、下列运算是否合法,为什么?如合法,结果是多少? ? ? ????=654321a ? ? ????-=531142b ????? ?????-=201c ?? ?? ? ?????=063258741d (1)result1=a'(2)result2=a *b (3)result6=a .*b (4)result7=a ./b (5)result8=a .*c (6)result9=a .\b (7)result10=a .^2 2、用MATLAB 求下面的的方程组。 (1)?? ? ??? ??????-=???????????????????? ?? ???----01741323151122231592127 4321x x x x 3、已知? ? ??? ???? ???----=132315112223159 2127A (1)求矩阵A 的秩(rank) (2)求矩阵A 的行列式(determinant)(3)求矩阵A 的逆(inverse) (4)求矩阵A 的特征值及特征向量(eigenvalue and eigenvector)4、关系运算与逻辑运算 已知a=20,b=-2,c=0,d=1 (1)r1=a >b (2)r2=a >b &c >d (3)r3=a ==b*(-10)(4)r4=~b |c

Matlab入门教程3

Matlab入门教程--环境设置 1-5、搜寻路径 在前一节中,test.m所在的目录是d:\mlbook。如果不先进入这个目录,MATLAB就找不到你要执行的M档案。如果希望MATLAB不论在何处都能执行test.m,那麽就必须将d:\mlbook加入MATLAB的搜寻路径(Search path)上。要检视MATLAB的搜寻路径,键入path即可: path MATLABPATH d:\matlab5\toolbox\matlab\general d:\matlab5\toolbox\matlab\ops d:\matlab5\toolbox\matlab\lang d:\matlab5\toolbox\matlab\elmat d:\matlab5\toolbox\matlab\elfun d:\matlab5\toolbox\matlab\specfun d:\matlab5\toolbox\matlab\matfun d:\matlab5\toolbox\matlab\datafun d:\matlab5\toolbox\matlab\polyfun d:\matlab5\toolbox\matlab\funfun d:\matlab5\toolbox\matlab\sparfun d:\matlab5\toolbox\matlab\graph2d d:\matlab5\toolbox\matlab\graph3d d:\matlab5\toolbox\matlab\specgraph d:\matlab5\toolbox\matlab\graphics

d:\matlab5\toolbox\matlab\uitools d:\matlab5\toolbox\matlab\strfun d:\matlab5\toolbox\matlab\iofun d:\matlab5\toolbox\matlab\timefun d:\matlab5\toolbox\matlab\datatypes d:\matlab5\toolbox\matlab\dde d:\matlab5\toolbox\matlab\demos d:\matlab5\toolbox\tour d:\matlab5\toolbox\simulink\simulink d:\matlab5\toolbox\simulink\blocks d:\matlab5\toolbox\simulink\simdemos d:\matlab5\toolbox\simulink\dee d:\matlab5\toolbox\local 此搜寻路径会依已安装的工具箱(Toolboxes)不同而有所不同。要查询某 一命令是在搜寻路径的何处,可用which命令: which expo d:\matlab5\toolbox\matlab\demos\expo.m 很显然c:\data\mlbook并不在MATLAB的搜寻路径中,因此MATLAB找不到test.m这个M档案: which test c:\data\mlbook\test.m 要将d:\mlbook加入MATLAB的搜寻路径,还是使用path命令: path(path, 'c:\data\mlbook'); 此时d:\mlbook已加入MATLAB搜寻路径(键入path试看看),因此MATLAB已经"看"得到test.m:

MATLAB基础知识习题

MATLAB 基础知识部分习题 1、使用help 命令,查看基本操作的有关命令,请输入help general ,熟悉通用的操作命令,如:General information 共有以下几项: helpbrowser - Bring up the help browser Managing the workspace Managing commands and functions Managing the search path Controlling the command window. Operating system commands Debugging M-files. Profiling M-files. Tools to locate dependent functions of an M-file. 2、可使用MA TLAB 进行计算,试计算下列各小题: 1)、|2+e 2| 2)、 arctg (0.75) 3)、sin(45o )+sin(60o ) 4)、lg (1000*arcsin (0.5)) 5)、若A=5+3i ,求A 的实、虚、复相角、共轭复数 3、对有关矩阵的计算 A=[4 2 3 2 3 4 3 4 5] B=[2 3 5 1 3 2 8 7 6] 分别用矩阵运算和数组运算计算A 、B 的加减乘除结果,并分析有和异同。它们的转置、逆、秩、特征值特征向量。 4、 绘制下列曲线 1)绘出y=e -1/2T sin (5t ),t 取值范围是0~4*pi ; 2)在一个窗口中,画y1=sin (2X )、y2=cos (2x )、y3=y1+y2;且线型颜色要求均不同,不同标注等,x 在0~3*pi 内; 5、编制程序求下列各题,要求编写M 文件: 1) 试计算1+2+……+n 〈2000时的最大n 值; 2) 试编制任一矩阵各元素累加和与连乘的函数; 3) 编函数计算1!+2!+……30! 4) 有两个矩阵A 、B 如下: A=[1 4 6 8 B=[-3 –7 6 -5 2 3 7 0 -2 1 3 -1 -2 –1 5 7 0 0 1 3 1 1 –1 0] 2 6 –1 0] 将A 中所有等于-1的元素改为-2,将B 中所有小于0的元素改为1,然后将B 中等于0的元素的值改为A 的相应位置元素的值。提示:可用A (find (A==-1))=-2这样的命令,此方法交互式即可。 5) 画出f=x 2+e Y *x ,x 在[-2,2]区间,分别取y=0、1、2、3、4、5;将这五条曲线画在同一窗口。 6) 根据阻尼系数绘制不同二阶系统的时域响应,当欠阻尼时,0<ζ<1 当临界阻尼时,ζ=0 当过阻尼时ζ>=1 1cos )x y a ??-=-+1(1)x y x e -=- +((1x x y ??--???=--??

matlab基础知识总结

1、linspace()函数 linspace是Matlab中的一个指令,用于产生x1,x2之间的N点行矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若缺省N,默认点数为100。在matlab的命令窗口下输入help linspace或者doc linspace可以获得该函数的帮助信息。 例一: 在matlab的命令窗口输入: X=linspace(1,100) 将产生从1到100步长为1的数组。类似于在命令窗口中输入:X=[1:1:100] 在MATLAB中为什么输linspace(10,50,6)的时候其步进是8,而输入linspace(10,50,8)时,其步进为5点多的一个小数 linspace(x0,x1,n) 其中n代表的是点的数目,即分成n-1等分。 步长应当是(x1-x0)/(n-1) 二、格式:n=norm(A,p) 功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释 NORM Matrix or vector norm. For matrices... NORM(X) is the largest singular value of X, max(svd(X)). NORM(X,2) is the same as NORM(X). NORM(X,1) is the 1-norm of X, the largest column sum, = max(sum(abs(X))). NORM(X,inf) is the infinity norm of X, the largest row sum, = max(sum(abs(X'))). NORM(X,'fro') is the Frobenius norm, sqrt(sum(diag(X'*X))). NORM(X,P) is available for matrix X only if P is 1, 2, inf or 'fro'. For vectors... NORM(V,P) = sum(abs(V).^P)^(1/P). NORM(V) = norm(V,2). NORM(V,inf) = max(abs(V)). 1、如果A为矩阵 n=norm(A) 返回A的最大奇异值,即max(svd(A)) n=norm(A,p) 根据p的不同,返回不同的值 p 返回值 1 返回A中最大一列和,即max(sum(abs(A))) 2 返回A的最大奇异值,和n=norm(A)用法一样 inf 返回A中最大一行和,即max(sum(abs(A’)))‘fro’ A和A‘的积的对角线和的平方根,即sqrt(sum(diag(A'*A)) 2、如果A为向量 norm(A,p) 返回向量A的p范数。即返回 sum(abs(A).^p)^(1/p),对任意1

matlab编程基础知识

MATLAB 编程基础 (一) 进入编程,建立一个文件或对已建立好的文件进入修改 1. Matlab主菜单下,选择"New"--"m-file". 2. 建立函数文件 输入function y=文件名(参数) 例如对潮水高度德48个点用正玄曲线来拟合, function yh=fsin(n) 然后进入编程.。 3. 编好程序后,要将文件存盘,单击 "Save" 即可,否则退出后文件消失(或修改无效). (二) 编程 将数据输入,要用输入语句(input),例如从键盘输入数据a: a=input ('input : a= '); 然后从键盘打入数据即可. 一、循环语句 1. for 循环 基本格式:for 循环变量=起始值::步长::终值 循环体 end 这里步长不写,只写起始值和终值,那么步长规定为1. 例如,计算10!,程序如下: function m=fcum(n) m=1; for i=1:10 m=m*I; end m (显示10!的值) 双循环:计算矩阵A m*n各元素的平方和 function sum=Asum(m,n) A=[a11,a12 . . .a1n;a21,a22 . . .a2n;. . .a m1. . .a mn ] ; sum=0 for i=1:m for j=1:n sum=sum+A(i,j)^2; end;end sum 2. while 循环 格式:while 表达式 循环体 end 例:求1到n的自然数的平方和,使和小于或等于1000,程序如下:

function sum=fsum(m) sum=0; n=0 while sum5 a(i)=10-i ; end end a (打印a) 例: 赋值: ()()()?????-≤-??-≥=110110 110 x x x y 从键盘输入x 的值,打印出y 的值,程序如下: function y=fxt(x) x=input(‘input x= ‘) if x>=1 y=10; elseif x>-1 & x<1 y=0; else y=-10; end end x (打印x, y ) 2、开关switch 语句 格式:switch 表达式 case 值1 语句 case 值2 语句 … … … otherwise 语句

MATLAB基础及其应用教程-周开利-邓春晖课后答案

第三章习题及参考答案 解答: >> p=[1 -1 -1]; >> roots(p) ans = -0.6180 1.6180 解答: 取n=5,m=61 >> x=linspace(0,2*pi,5); y=sin(x); >> xi=linspace(0,2*pi,61); >> y0=sin(xi); >> y1=interp1(x,y,xi); >> y2=interp1(x,y,xi,'spline'); >> plot(xi,y0,'o',xi,y1,xi,y2,'-.'); >> subplot(2,1,1); plot(xi,y1-y0);grid on >> subplot(2,1,2); plot(xi,y2-y0);grid on

分段线性和三次样条插值方法与精确值之差取n=11,m=61 >> x=linspace(0,2*pi,11); y=sin(x); >> xi=linspace(0,2*pi,61); >> y0=sin(xi); >> y1=interp1(x,y,xi); >> y2=interp1(x,y,xi,'spline'); >> plot(xi,y0,'o',xi,y1,xi,y2,'-.'); >> subplot(2,1,1); plot(xi,y1-y0);grid on >> subplot(2,1,2); plot(xi,y2-y0);grid on 分段线性和三次样条插值方法与精确值之差

解答: >> x=[0,300,600,1000,1500,2000]; >> y=[0.9689,0.9322,0.8969,0.8519,0.7989,0.7491]; >> xi=0:100:2000; >> y0=1.0332*exp(-(xi+500)/7756); >> y1=interp1(x,y,xi,'spline'); >> p3=polyfit(x,y,3); >> y3=polyval(p3,xi); >> subplot(2,1,1);plot(xi,y0,'o',xi,y1,xi,y3,'-.'); >> subplot(2,1,2);plot(xi,y1-y0,xi,y3-y0);grid on 插值和拟合方法相比较,都合理,误差也相近。 解答: 梯形法积分 >> x=-3:0.01:3;

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