MATLAB MATLAB 基本运算

合集下载

matlab常用指令

matlab常用指令

matlab常用指令MATLAB是一款非常实用的科学计算软件,在使用过程中,一些常用的指令是非常必要的。

在本篇文章中,我们将会介绍MATLAB常用指令,以使你更加熟练掌握MATLAB的使用。

一、基本数学运算+ 加- 减* 乘/ 除^ 幂(指数)sqrt 平方根exp 取指数log 取自然对数log10 取以10为底的对数sin 正弦cos 余弦tan 正切asin 反正弦acos 反余弦atan 反正切abs 绝对值rem 模运算fix 向零取整floor 向负无穷取整ceil 向正无穷取整round 四舍五入mod 取摸余数二、变量与矩阵1、赋值:通过等号将数值赋给变量,如:a=3;b=2.1;c=2+3i;2、数列:建立一个等差数组,例如:d=1:10; %1到10的等差数列e=linspace(0,2*pi,100); %0到2*pi之间的100个等间距点 a=[1 2 3;4 5 6;7 8 9];b=zeros(2,3);c=ones(3,2);d=rand(3,3);e=eye(4);4、矩阵元素操作:通过下标访问矩阵中的元素,例如:a(1,2) %输出a矩阵第一行第二列的元素b(2,3)=7 %将b矩阵第二行第三列的元素赋为75、矩阵运算:矩阵加减乘除,如:a+b %对应元素相加a-b %对应元素相减a*b %矩阵乘法a/b %矩阵除法a' %矩阵转置6、矩阵函数:除了使用基本操作外,还能使用各种矩阵相关函数完成矩阵计算,例如:inv(a) %矩阵求逆det(a) %矩阵求行列式trace(a) %矩阵求迹eig(a) %求特征值rank(a) %矩阵的秩size(a) %返回矩阵的大小max(a) %求矩阵元素最大值min(a) %求矩阵元素最小值sum(a) %求矩阵元素的和prod(a) %求矩阵所有元素的乘积mean(a) %求矩阵元素的平均值三、绘图1、二维绘图:绘制二维函数的曲线、散点图等,例如:x=linspace(-3,3,100); %生成-3到3之间的100个等间距点y=sin(x);plot(x,y); %绘制正弦函数曲线plot(x,y,'r--'); %绘制红色的正弦函数曲线,形状为虚线xlabel('x values');ylabel('y values');title('sine function');grid on;四、数据处理1、数据导入:在MATLAB中,可以通过各种方式将数据导入,如:a=load('filename.txt'); %从文件中载入数据b=xlsread('filename.xls'); %从Excel文件中载入数据五、编程1、条件语句:通过条件语句实现程序的分支结构,例如:if(a<0)disp('a is negative');elseif(a==0)disp('a is zero');elsedisp('a is positive');endfor i=1:10disp(i);end3、函数:在MATLAB中,可以自定义函数,函数调用格式为:function [out1,out2,...]=function_name(in1,in2,...)%函数说明%计算过程end4、脚本:在MATLAB中,脚本是一些命令或函数的集合,可以将脚本保存到文件中执行,例如:%脚本说明a=1;b=2;c=a+b;disp(c);以上便是MATLAB一些常用指令的详细介绍。

第二讲 MATLAB基本运算

第二讲 MATLAB基本运算
2010-12-25 20
矩阵下标的用途
访问超出矩阵范围时,产生 Index exceeds matrix dimentions 存储超出矩阵范围时,矩阵自动调节 大小,将指定位置元素置入,其他没 指定数的位置默认为零。
2010-12-25
21
矩阵下标的用途
(2)矩阵连接 例:a=[1 2;3 4] b=[a a+5; a-5 zeros(size(a)] 将小矩阵嵌套入大矩阵,实现矩阵连接。
将矩阵按创建原则写入一个M文件, 在MATLAB的命令窗口或程序中直接执 行该M文件,即将矩阵调入工组空间。
2010-12-25
15
利用MATLAB函数创建矩阵 利用MATLAB函数创建矩阵 MATLAB
ones( m, n) - m行n列的1阵产生 zeros(m, n) -产生m行n列的全0阵 rand(m, n) -产生m行n列均匀分布全列的在 [0,1]区间的随机阵 randn(m, n) -产生m行n列的正态分布矩阵 eye(n) -产生n维单位阵
2010-12-25 18
2.2.3 矩阵的下标 .2.3
子矩阵提取A(v1, v2)
v1表示子矩阵包含的行标构成的向量 v2表示子矩阵包含的列标构成的向量 B1=A(:, [1, 3]) 为:时表示要提取所有行(列) B2=A(1:2:end, :) end表示最后一行(列) B3=A([3,2,1],[2,3,4]) 例: B4=A(:, end:-1:1) 提取A矩阵所有行、1,3列 提取A矩阵 3,2,1 行、2,3,4 列构成子矩阵 提取A矩阵全部奇数行,所有列 将A矩阵左右翻转
2010-12-25
13
直接输入法创建矩阵
例:创建矩阵

实验一 MATLAB运算基础

实验一 MATLAB运算基础

实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。

(1) 0122sin851z e =+>> z1=2*sin(85*pi/180)/(1+exp(2))z1 =0.2375(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦>> x=[2 1+2*i;-0.45 5];>> z2=1/2*log(x+sqrt(1+x*x))z2 =0.7114 - 0.0253i 0.8968 + 0.3658i0.2139 + 0.9343i 1.1541 - 0.0044i (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=-->> a=-3.0:0.1:3.0;>> z3=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2) z3 =Columns 1 through 20.7388 + 3.1416i 0.7696 + 3.1416iColumns 3 through 40.7871 + 3.1416i 0.7913 + 3.1416iColumns 5 through 60.7822 + 3.1416i 0.7602 + 3.1416iColumns 7 through 80.7254 + 3.1416i 0.6784 + 3.1416iColumns 9 through 100.6196 + 3.1416i 0.5496 + 3.1416i Columns 11 through 120.4688 + 3.1416i 0.3780 + 3.1416i Columns 13 through 140.2775 + 3.1416i 0.1680 + 3.1416i Columns 15 through 160.0497 + 3.1416i -0.0771 + 3.1416i Columns 17 through 18-0.2124 + 3.1416i -0.3566 + 3.1416i Columns 19 through 20-0.5104 + 3.1416i -0.6752 + 3.1416iColumns 21 through 22-0.8536 + 3.1416i -1.0497 + 3.1416i Columns 23 through 24-1.2701 + 3.1416i -1.5271 + 3.1416i Columns 25 through 26-1.8436 + 3.1416i -2.2727 + 3.1416i Columns 27 through 28-2.9837 + 3.1416i -37.0245 Columns 29 through 30-3.0017 -2.3085 Columns 31 through 32-1.8971 -1.5978 Columns 33 through 34-1.3575 -1.1531 Columns 35 through 36-0.9723 -0.8083 Columns 37 through 38-0.6567 -0.5151 Columns 39 through 40-0.3819 -0.2561 Columns 41 through 42-0.1374 -0.0255Columns 43 through 440.0792 0.1766 Columns 45 through 460.2663 0.3478 Columns 47 through 480.4206 0.4841 Columns 49 through 500.5379 0.5815 Columns 51 through 520.6145 0.6366 Columns 53 through 540.6474 0.6470 Columns 55 through 560.6351 0.6119 Columns 57 through 580.5777 0.5327 Columns 59 through 600.4774 0.4126 Column 610.3388(4)2242011122123t tz t tt t t⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t=0:0.5:2.5>> t=0:0.5:2.5; >>z4=t.^2.*(t>=0&t<1)+(t.^2-1).*(t>=1&t<2)+(t.^2-2*t+1).*(t>=2&t<3)z4 =Columns 1 through 40 0.2500 0 1.2500Columns 5 through 61.00002.25002. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵)>> A=[12 34 -4;34 7 87;3 65 7];>> B=[1 3 -1;2 0 3;3 -2 7]; >> I=ones(3);>> A+6*Bans =18 52 -1046 7 10521 53 49 >> A-B+Ians =12 32 -233 8 851 68 1(2) A*B和A.*B>> A*Bans =68 44 62309 -72 596154 -5 241>> A.*Bans =12 102 468 0 2619 -130 49(3) A^3和A.^3>> A^3ans =37226 233824 48604247370 149188 60076678688 454142 118820 >> A.^3ans =1728 39304 -6439304 343 65850327 274625 343(4) A/B及B\A>> A/Bans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000>> B\Aans =109.4000 -131.2000 322.8000-53.0000 85.0000 -171.0000-61.6000 89.8000 -186.2000(5) [A,B]和[A([1,3],:);B^2]>> [A,B]ans =12 34 -4 1 3 -134 7 87 20 3 3 65 7 3-2 7>> [A([1,3],:);B^2]ans =12 34 -43 65 74 5 111 0 1920 -5 403. 设有矩阵A 和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(1) 求它们的乘积C 。

matlab数学运算符

matlab数学运算符

matlab数学运算符一、加法运算符(+)加法运算符是Matlab中最基本的数学运算符之一,用于实现数值的相加操作。

在Matlab中,可以使用加法运算符计算两个或多个数值的和。

例如,使用加法运算符可以计算2和3的和,即2+3=5。

二、减法运算符(-)减法运算符用于实现数值的相减操作。

在Matlab中,可以使用减法运算符计算两个数值的差。

例如,使用减法运算符可以计算5和3的差,即5-3=2。

三、乘法运算符(*)乘法运算符用于实现数值的相乘操作。

在Matlab中,可以使用乘法运算符计算两个或多个数值的乘积。

例如,使用乘法运算符可以计算2和3的乘积,即2*3=6。

四、除法运算符(/)除法运算符用于实现数值的相除操作。

在Matlab中,可以使用除法运算符计算两个数值的商。

例如,使用除法运算符可以计算6和2的商,即6/2=3。

五、取模运算符(mod)取模运算符用于计算两个数值相除后的余数。

在Matlab中,可以使用取模运算符计算两个数值相除的余数。

例如,使用取模运算符可以计算7除以3的余数,即7 mod 3=1。

六、指数运算符(^)指数运算符用于实现数值的乘方操作。

在Matlab中,可以使用指数运算符计算一个数的指定次幂。

例如,使用指数运算符可以计算2的3次幂,即2^3=8。

七、开方运算符(sqrt)开方运算符用于计算一个数的平方根。

在Matlab中,可以使用开方运算符计算一个数的平方根。

例如,使用开方运算符可以计算16的平方根,即sqrt(16)=4。

八、绝对值运算符(abs)绝对值运算符用于计算一个数的绝对值。

在Matlab中,可以使用绝对值运算符计算一个数的绝对值。

例如,使用绝对值运算符可以计算-5的绝对值,即abs(-5)=5。

九、取整运算符(floor)取整运算符用于将一个数向下取整为最接近的整数。

在Matlab中,可以使用取整运算符将一个数向下取整。

例如,使用取整运算符可以将3.8向下取整为最接近的整数,即floor(3.8)=3。

Matlab基本运算

Matlab基本运算

2.1 变量和数据‎操作2.1.1 变量与赋值‎1.变量命名在MA TL‎A B 6.5中,变量名是以‎字母开头,后接字母、数字或下划‎线的字符序‎列,最多63个‎字符。

在MA TL‎A B中,变量名区分‎字母的大小‎写。

2.赋值语句(1) 变量=表达式(2) 表达式其中表达式‎是用运算符‎将有关运算‎量连接起来‎的式子,其结果是一‎个矩阵。

2.1.2 预定义变量‎在MA TL‎A B工作空‎间中,还驻留几个‎由系统本身‎定义的变量‎。

例如,用pi表示‎圆周率π的‎近似值,用i,j表示虚数‎单位。

预定义变量‎有特定的含‎义,在使用时,应尽量避免‎对这些变量‎重新赋值。

2.1.3 内存变量的‎管理1.内存变量的‎删除与修改‎MATLA‎B工作空间‎窗口专门用‎于内存变量‎的管理。

在工作空间‎窗口中可以‎显示所有内‎存变量的属‎性。

当选中某些‎变量后,再单击De‎lete 按‎钮,就能删除这‎些变量。

当选中某些‎变量后,再单击Op‎e n按钮,将进入变量‎编辑器。

通过变量编‎辑器可以直‎接观察变量‎中的具体元‎素,也可修改变‎量中的具体‎元素。

clear‎命令用于删‎除M A TL‎A B工作空‎间中的变量‎。

w ho和w‎h os这两‎个命令用于‎显示在MA‎T LAB工‎作空间中已‎经驻留的变‎量名清单。

who 命令‎只显示出驻‎留变量的名‎称,whos在‎给出变量名‎的同时,还给出它们‎的大小、所占字节数‎及数据类型‎等信息。

2.内存变量文‎件利用MA T‎文件可以把‎当前MA T‎L AB工作‎空间中的一‎些有用变量‎长久地保留‎下来,扩展名是.mat。

MA T文件‎的生成和装‎入由sav‎e和loa‎d 命令来完‎成。

常用格式为‎:save 文件名[变量名表] [-appen‎d][-ascii‎]load 文件名[变量名表] [-ascii‎]其中,文件名可以‎带路径,但不需带扩‎展名.mat,命令隐含一‎定对.mat文件‎进行操作。

第二讲 Matlab的基本计算

第二讲 Matlab的基本计算

>>a3=mat2str( a,2 ) %一行字符
字符串的应用:作出函数图形,并标注最大值点。 字符串的应用:作出函数图形,并标注最大值点。
y = e 2t sin(3t ) 0 ≤ t ≤ 10
clear %清除内存变量 t = 0 : 0.01 : 10; %时间 t 从 0 到 10 每隔 0.01 均匀采样 y = exp( -2*t ) .* sin( 3*t ); %对应每一个 t 求 y 值 %求最大值 y_max 及其下标 i_max [ y_max, i_max ] = max( y ); %横坐标字符串 t_text = [ 't = ', num2str( t(i_max) ) ]; %纵坐标字符串 y_text = [ 'y = ', num2str( y_max ) ]; %三行字符来标识最大值点 max_text = char( 'Maxium', t_text, y_text ); %图名称字符串 Title = [ 'y = exp( -2*t ) .* sin( 3*t )' ]; %新建一个图形窗 figure %画一条黑色的水平线 plot( t,zeros( size(t) ), 'k' ) %保持图形不被清除 hold on %蓝色实线画曲线 y(t) plot( t, y, 'b' ) %大小为 20 的红圆点标记最大值点 plot( t(i_max), y_max, 'r.', 'MarkerSize', 20 ) %在最大值点附近显示注释字符 text( t(i_max)+0.3, y_max+0.05, max_text ) %显示图名、横坐标名、纵坐标名 title( Title ); %取消图形保持 xlabel( 't' ) ylabel( 'y' ) hold off

实验一 常用基本信号的MATLAB表示和运算

实验一 常用基本信号的MATLAB表示和运算

一.实验目的1.学会用MATLAB 表示常用连续信号的方法;2.学会用MATLAB 进行信号基本运算的方法; 二.实验原理与步骤 原理:1.信号的MATLAB 表示 (1)向量表示法对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t =的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔。

向量f 为连续信号f(t)在向量t 所定义的时间点上的样值。

例如:对于连续信号sin()()()t f t Sa t t==,同时用绘图命令plot()函数绘制其波形。

其程序如下: t2=-10:0.1:10; %定义时间t 的取值范围:-10~10,取样间隔为0.1,%则t2是一个维数为201的行向量 f2=sin(t2)./t2; %定义信号表达式,求出对应采样点上的样值 %同时生成与向量t2维数相同的行向量f2 figure(2); %打开图形窗口2Plot(t2,f2); %以t2为横坐标,f2为纵坐标绘制f2的波形 运行结果如下:(2)符号运算表示法如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot()等函数来绘出信号的波形。

例如:对于连续信号sin()()()t f t Sa t t==,我们也可以用符号表达式来表示它,同时用ezplot()命令绘出其波形。

其MATLAB 程序如下: Syms t; %符号变量说明f=sin (t )/t; %定义函数表达式ezplot (f,[-10,10]); %绘制波形,并且设置坐标轴显示范围 运行结果如下:(3)常见信号的MATLAB 表示 单位阶跃信号:方法一:调用Heaviside(t)函数首先定义函数Heaviside(t)的m函数文件,该文件名应与函数名同名即Heaviside.m。

%定义函数文件,函数名为Heaviside,输入变量为x,输出变量为yfunction y=Heaviside(t)y=(t>0);%定义函数体,即函数所执行指令%此处定义t>0时y=1,t<=0时y=0,注意与实际的阶跃信号定义的区别。

matlab中的基本运算

matlab中的基本运算

matlab中的基本运算基本运算是MATLAB中最基础的操作之一,它涵盖了数值计算、数据处理和绘图等各个方面。

本文将详细介绍MATLAB中的基本运算,包括算术运算、矩阵运算、逻辑运算和位运算等。

一、算术运算算术运算是最基本的运算之一,MATLAB中支持的算术运算包括加法、减法、乘法和除法等。

例如,可以使用"+"符号进行两个数的加法运算,用"-"符号进行减法运算,用"*"符号进行乘法运算,用"/"符号进行除法运算。

此外,还可以使用"^"符号进行幂运算,使用"sqrt"函数进行开方运算。

二、矩阵运算MATLAB中的矩阵运算是其强大功能之一。

可以使用矩阵进行加法、减法、乘法和除法等运算。

例如,可以使用"+"符号进行矩阵的逐元素加法运算,用"-"符号进行逐元素减法运算,用"*"符号进行矩阵的乘法运算,用"./"符号进行矩阵的逐元素除法运算。

三、逻辑运算逻辑运算在MATLAB中广泛应用于判断条件和控制流程。

MATLAB 支持的逻辑运算有与、或、非和异或等。

例如,可以使用"&&"符号进行逻辑与运算,用"||"符号进行逻辑或运算,用"~"符号进行逻辑非运算,用"xor"函数进行逻辑异或运算。

四、位运算位运算是对二进制数进行逐位操作的运算。

MATLAB支持的位运算有与、或、非、异或、左移和右移等。

例如,可以使用"&"符号进行位与运算,用"|"符号进行位或运算,用"~"符号进行位非运算,用"xor"函数进行位异或运算,用"<<"符号进行左移运算,用">>"符号进行右移运算。

MATLAB基本操作命令

MATLAB基本操作命令

复数z1的输入方式是直接按照书面习惯完成的, 在这种书写格式中10i是一个完整的虚数部分, 因此在10和i之间不允许有任何空格。这种书写 格式符合大家的习惯,但仅限于使用在复数标量 中,不能使用在复数矩阵中。 Z2将虚数部分用*号相连。这种方式适用于复 数矩阵。 如果可以使用第一种书写格式,尽量使用第一 种,因为这种格式比复数z2的输入方式运算速度 要快。
MATLAB
wilkinson
2.2 矩阵和数组的基本运算
2.2.1矩阵和数组的四则运算 1.矩阵算术运算 矩阵算术运算的书写格式与普通的算术 相同,包括加、减、乘、除,也可用括号 来规定运算的优先次序。但它的乘法定义 与普通数(标量)不同。相应地,作为乘 法逆运算的除法也不同,由左除(\)和右 除(/)两种符号。
M圆括号“()”中的数字 (也称为下标)来注明,一维矩阵(也称数组 或向量)中的元素用一个下标表示,二维矩阵 可有两个下标数,以逗号分开。 三维和更高维的矩阵,可有三个或更多下 标。用户可以单独给元素赋值,如: x(2)=1.7321,a(2,3)=6等。如果赋值元素的下标 超出了原来矩阵的大小,矩阵的行列会自动扩 展。如:
MATLAB
矩阵的乘法 现在来看矩阵的乘法,X*Y’,这个式子可读 成X左乘Y’。现在让X右乘Y’,于是有 Y’*X, X左乘和右乘Y’所得的结果是完全不同的。 只有单位矩阵例外,单位矩阵乘以任何矩阵 A(其阶数为nA×mA)时,不管是左乘还是 右乘,积仍等于该矩阵。即 eye(nA)*A=A A* eye(mA) =A
MATLAB
两矩阵的相加(减)就是其对应元素的相加 (减),因此,要求相加的两矩阵的阶数必须 相同。检查矩阵阶数的MATLAB语句是size, 例如:键入 [n,m]=size(fb2) 得 n= 6 m = 5 (6行5列)

matlab 第3章 数值运算基础

matlab 第3章 数值运算基础

HYIT
8
说明: 1.N阶方阵特征多项式系数矢量一定是n+1阶的 2.特征多项式系数矢量的第一个元素必须为1。
1 A 2 2
2 2 1 2 的特征多项式 2
1
2 2
2 2
2 ( )( 1) 3 9 5
HYIT
12
3.1.2 多项式运算
求多项式的值 求多项式的根 多项式的乘除运算 多项式的微积分 多项式的部分分式展开 多项式拟合
HYIT
13
求多项式的值
方法:函数polyval:按数组运算规则求值 函数polyvalm:按矩阵运算规则求值 格式: y=polyval(p,x) p为多项式,x可为标量/数组/矩阵 y=polyvalm(p,x) x可为标量/方阵
注:系数中的零不能省!
HYIT
4
创建多项式的方法
系数矢量直接输入法 特征多项式输入法 由根矢量创建多项式
HYIT
5
系数矢量直接输入法
适用于: 已知系数 → 表达式
方法: 函数poly2sym +系数矢量
例: 例: >> poly2sym([1 2 3 4]) >> poly2str([1 2 3 4],‘y') ans = ans = x^3+2*x^2+3*x+4 y^3 + 2 y^2 + 3 y + 4 说明: poly2str 以习惯方式显示多项式 poly2sym 双精度多项式系数转为符号多项式
HYIT
14
例: p=[1 1 1]; x=[0 1 2 3]; xm=[0 1; 2 3]; y1=polyval(p,x) y2=polyval(p,xm) ym=polyvalm(p,xm)

matlab加减乘除运算顺序

matlab加减乘除运算顺序

matlab加减乘除运算顺序
1.加、减运算;乘、除法
运算符:“+”和“-”分别为加、减运算符。

运算符:*
运算优先级规则:
表达式按照从左到右的顺序进行计算,其中指数运算的优先级最高;乘法和除法次之,两者具有相同的优先级;加法和减法的优先级最低,两者具有相同优先级;括号优先级将改变上述优先级,有多重括号时优先级从外到内升高。

2.向量点积
函数dot
格式C=dot(A,B)%若A、B为向量,则返回向量A与B的点积,A与B长度
相同;若为矩阵,则A与B有相同的维数。

3.向量叉乘
在数学上,两向量的叉乘是一个过两相交向量的交点且垂直于两向量所在平面的向量。

在Matlab中,用函数cross实现。

函数cross
格式C=cross(A,B)%若A、B为向量,则返回A与B的叉乘,即C=A×B,A、B必须是3个元素的向量;若A、B为矩阵,则返回一个3×n矩阵,其中的列是A与B对应列的叉积,A、B都是3×n矩阵。

C=cross(A,B,dim)%在dim维数中给出向量A与B的叉积。

A 和B必须具有相同的维数。

MATLAB入门教程)1.MATLAB的基本知识

MATLAB入门教程)1.MATLAB的基本知识

1-1、基本运算与函数在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter 键即可。

例如:>> (5*2+1.3-0.8)*10/25ans =4.2000MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。

小提示:">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。

我们也可将上述运算式的结果设定给另一个变数x:x = (5*2+1.3-0.8)*10^2/25x = 42此时MATLAB会直接显示x的值。

由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。

小提示:MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。

MATLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MATLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。

若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例:y = sin(10)*exp(-0.3*4^2);若要显示变数y的值,直接键入y即可:>>yy =-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化为多项分数展开sign(x):符号函数(Signum function)。

MATLAB的微积分基本运算

MATLAB的微积分基本运算

MATLAB的微积分基本运算第六章 MATLAB 的微积分基本运算学习⽬标:1、熟悉符号对象和表达式的创建;2、熟悉计算结果的类型与精度控制和转换3、掌握MATLAB 中符号微积分运算:极限、导数、积分的命令及格式。

第⼀节极限⼀、极限概念演⽰:数列极限是指当n ⽆限增⼤时,n u 与某常数⽆限接近或n u 趋向于某⼀定值,就图形⽽⾔,其点列以某⼀平⾏y 轴的直线为渐近线。

函数极限也是如此。

例1:观察数列?+1n n ,当∞→n 时的变化趋势。

输⼊程序:>> n=1:100;xn=n./(n+1); >> for i=1:100;plot(n(i),xn(i),'r') % plot 是⼆维图形作图命令。

hold onend % for ……..end 语句是循环语句,循环体内的语句被执⾏100次由图可看出,随n 的增⼤,点列与直线y=1⽆限接近,所以11lim=+∞→n nn 例2:观察函数 xx f 1sin)(=,当0→x 时的变化趋势。

输⼊程序:>> x=-1:0.01:1;y=sin(1./x);plot(x,y)从图可看到,当0→x 时,x1sin 在-1和1之间⽆限次振荡,极限不存在。

例3:观察函数 xxx f )11()(+=,当∞→x 时的变化趋势输⼊程序:>> x=-1:10:1000;y=(1+1./x).^x;plot(x,y)从图可看到,当∞→x 时,函数值与某常数⽆限接近,这个常数就是e 。

⼆、极限计算:如果符号表达式F中只有⼀个变量x,x可以省略,当a=0时0也可以省略。

例:阅读理解下列程序>> syms x n>> limit(x^2*exp(x))ans =>> limit(exp(-1/x),x,0,'left')ans =inf>> limit((1+2/n)^(3*n),n,inf)ans =exp(6)三、符号对象与表达式的建⽴微积分运算的对象为函数,MATLAB称为符号表达式, MATLAB进⾏微积分运算⾸先要建⽴符号表达式,然后才可以利⽤MATLAB符号数学⼯具箱提供的函数进⾏运算。

第二讲 MATLAB基本操作

第二讲 MATLAB基本操作

三、矩阵及其运算
(四)矩阵的基本数值运算
(1)矩阵与常数的四则运算(同向量与数的四则运算) 矩阵与常数的四则运算(同向量与数的四则运算) 矩阵与常数的四则运算是指矩阵各元素与常 数之间的四则运算。 数之间的四则运算。 例如: 例如 a=[1,2,3;4,5,6;7,8,9]; 求: c=a+2; d=a-2; e=a*2; f=a/2;
(一)矩阵的生成
矩阵的生成有多种方式,通常使用的有四种: 矩阵的生成有多种方式,通常使用的有四种: (1)在命令窗口中直接输入矩阵; 在命令窗口中直接输入矩阵; 把矩阵的元素直接排列到方括号中, 把矩阵的元素直接排列到方括号中,每行 内的元素用空格或逗号相隔, 内的元素用空格或逗号相隔,行于行之间的内 容用分号相隔。 容用分号相隔。 通过语句和函数产生矩阵; (2)通过语句和函数产生矩阵; 文件中建立矩阵; (3)在M文件中建立矩阵; 从外部的数据文件中导入矩阵; (4)从外部的数据文件中导入矩阵; 例如: 例如 a=[1 2 3;4 5 6;7 8 9], b=[2,4,6,8;1,3,5,7;1,2,3,4],
四、数组及其运算
(一)数组的生成
(1)在命令窗口中直接输入向量 格式:a=[a1,a2,a3, …an ] 格式: (2)等差元素向量的生成 生成法: 格式: (i)冒号“:”生成法: 格式:a=a1:m:an )冒号“ (ii)使用线性等分向量函数 )使用线性等分向量函数linspace法: 法 格式: 格式:a=linspace(a1,an,n)
三、矩阵及其运算
(三)矩阵中元素的操作
的第r行 (1)提取矩阵 的第 行:A(r,:) )提取矩阵A的第 ( ,:) 的第r列 (:,r) (2)提取矩阵 的第 列:A(:, ) )提取矩阵A的第 (:, 的每一列, 拉伸为一个列向量: (:) (3)依次提取矩阵 的每一列,将A拉伸为一个列向量:A(:) )依次提取矩阵A的每一列 拉伸为一个列向量 (4)取矩阵 的第 1~i2行、第j1~j2列构成新矩阵 的第i 列构成新矩阵:A(i1:i2, j1:j2) )取矩阵A的第 的第i 构成新矩阵:A(i2:-1:i1,:) (5)以逆序提取矩阵 的第 1~i2行,构成新矩阵 )以逆序提取矩阵A的第 : 的第j 构成新矩阵:A(:, j2:-1:j1 ) (6)以逆序提取矩阵 的第 1~j2列,构成新矩阵 )以逆序提取矩阵A的第 : 的第i 构成新矩阵:A(i1:i2,: ] ,:)=[ (7)删除 的第 1~i2行,构成新矩阵 )删除A的第 的第j 构成新矩阵:A(:, (8)删除 的第 1~j2列,构成新矩阵 :, j1:j2)=[ ] )删除A的第 拼接成新矩阵: (9)将矩阵 和B拼接成新矩阵:[A B];[A;B] )将矩阵A和 拼接成新矩阵 ; ;

MATLAB的基本操作与编程基础

MATLAB的基本操作与编程基础

MATLAB的基本操作与编程基础实验⼀MATLAB的基本操作、编程基础姓名:学号:⽹选班级:1.简述实验⽬的及实验原理答:本次实验的⽬的是为了了解matlab软件和matlab语⾔的⽤法。

简要介绍了⼀些常⽤的运算符和函数,还有⼀些信号系统在matlab软件⾥怎样实现的。

实验原理是通过matlab软件实现信号系统的⼀些计算。

2.记录实验内容3、4的命令或程序及图形内容3.画出以下各序列在给定区间的图形。

1) x(n)=2δ(n+2)-δ(n-4)+δ(n) ,-5≤n≤52) x(n)=n[u(n)-u(n-10)]+10e-0.3(n-10)[u(n-10)-u(n-20)],0≤n≤203) x(n)=2-cos(0.4πn)- cos(0.8πn),0≤n≤50答:(1)程序为:n=-5:5;x1=[(n+2)==0];x2=[(n-4)==0];x3=[(n+0)==0];x=2.*x1-x2+x3;stem(n,x);xlabel('n');ylabel('x');(2)程序为:%x(n)=n[u(n)-u(n-10)]+10e-0.3(n-10)[u(n-10)-u(n-20)],n=0:20;x1=[n>=0];x2=[n>=10];x3=[n>=20];x4=exp(-0.3).^(n-10);x=x1-x2+10.*x4.*(x2-x3);stem(n,x);xlabel('n 作者:陈哲');ylabel('x');(3)程序为:%x(n)=2-cos(0.4|Dn)- cos(0.8|Dn£? ,0?ün?ü50%x(n)=2-cos(0.4|Dn)- cos(0.8|Dn£? ,0?ün?ü50n=0:50;x1=cos(0.4*n.*pi);x2=cos(0.8*n.*pi);x=2-x1-x2;subplot(211);stem(n,x);xlabel('n 作者:陈哲');ylabel('x');title('采样点很少的情况');n1=0:0.01:50;x11=cos(0.4*n1.*pi);x21=cos(0.8*n1.*pi);x0=2-x11-x21;subplot(212);stem(n1,x0);xlabel('n 作者:陈哲');ylabel('x');title('采样点很多的情况');4.令x(n)={1,2,3,4,5,6,7,6,5,4,3,2,1},画出下列序列的图形1) x1(n)=2x(n-5)-3x(n-4)2) x2(n)=x(3-n)-x(n)x(n-2)3) x e(n)和x o(n) ---通过编写求x e(n)、x o(n)的M-file来实现(需要给出测试函数) x e(n) 和x o(n)分别为x(n)的偶部和奇部解:(1)程序为:%x1(n)=2x(n-5)-3x(n-4),x(n)={1,2,3,4,5,6,7,6,5,4,3,2,1}%x1=x(n-5) x2=x(n-4)x=[1,2,3,4,5,6,7,6,5,4,3,2,1];n=0:12;[x1,n1]=sigshift(x,n,5);[x2,n2]=sigshift(x,n,4);[y,n3] = sigadd((2.*x1),n1,(-3.*x2),n2)subplot(211);stem(n,x);xlabel('n');ylabel('x(n)');subplot(212);stem(n3,y);xlabel('n');ylabel('x1(n)=2x(n-5)-3x(n-4)');⾃定义函数有:%实现信号加的M-file :y(n)=x1(n)+x2(n)function [y,n] = sigadd(x1,n1,x2,n2)n = min(min(n1),min(n2)):max(max(n1),max(n2));y1 = zeros(1,length(n)); y2 = y1;y1(find((n>=min(n1))&(n<=max(n1))==1))=x1;y2(find((n>=min(n2))&(n<=max(n2))==1))=x2;y = y1+y2;%移位的M-file :y(n)=x(n-n0)function [y,n] = sigshift(x,m,n0)n = m+n0; y = x;(2)程序为:%x2(n)=x(3-n)-x(n)x(n-2)%x0=x(3-n);x1=x(n)x(n-2);x=[1,2,3,4,5,6,7,6,5,4,3,2,1];n0=0:12;[x00,n10] = sigshift(x,3,n0);[x0,n1] = sigfold(x00,n10);[x11,n11] = sigshift(x,2,n0);[x1,n2] = sigmult(x,n0,x11,n11);[x2,n] = sigadd(x0,n1,-x1,n2);stem(n,x2);xlabel('n');ylabel('x2(n)');title('x2(n)=x(3-n)-x(n)x(n-2)');⾃定义函数有:%实现信号乘的M-file : y(n)=x1(n) x2(n)function [y,n] = sigmult(x1,n1,x2,n2)n = min(min(n1),min(n2)):max(max(n1),max(n2));y1 = zeros(1,length(n)); y2 = y1;y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; y = y1 .* y2;%折叠的M-file :y(n)=x(-n)function [y,n] = sigfold(x,n)y = fliplr(x); n = -fliplr(n);(3)程序为:奇部函数:function [y1,m1 ] =jishu( x,n )for i=1:2:nif i<=nm1((i+1)/2)=(i+1)/2;y1((i+1)/2)=x(i);endend偶部函数:function [y1,m1 ] =oushu( x,n )for i=2:2:nif i<=nm1((i)/2)=(i)/2;y1((i)/2)=x(i);endend测试程序:x=[1,2,3,4,5,6,7,6,5,4,3,2,1];n0=1:13;n=13;[y1,m1]=jishu(x,n);[y2,m2]=oushu(x,n);subplot(311);stem(n0,x);xlabel('n');ylabel('x(n)');title('x(n)');subplot(312);stem(m1,y1);xlabel('n');ylabel('x(n)??2?');title('x(n)??2?'); subplot(313);stem(m2,y2);xlabel('n');ylabel('x(n)??2?');title('x(n)??2?');。

2、MATLAB的数学运算基础

2、MATLAB的数学运算基础

例子: 计算表达式的值,并显示计算结果。
在MATLAB命令窗口输入命令: x=1+2i; y=3-sqrt(17); z=(cos(abs(x+y))-sin(78*pi/180))/(x+abs(y)) 输出结果是:
z= -0.3488 + 0.3286i
六、MATLAB的数值显示格式 的数值显示格式
• 和其他的程序设计语言不同,MATLAB能 自动根据赋值和操作来识别变量类型。即 变量使用之前,不需要指定变量的数据类 型,也不必事先声明变量。
MATLAB中变量的作用域一般默认为局 部变量,仅在当前调用的M文件中有效。如 果要定义全局变量,则必须用global来声明。 一般情况下,为了和局部变量有所区别, 常将全局变量用大写字母表示,但这并不 是必需的,只是人为的一种约定而已。
• • • •
>> clear xy yx %删除变量xy及yx >> whos >> xy %这时变量xy已经不存在了 ??? Undefined function or variable 'xy'.
其它
• 保存工作空间
命令格式: >>save filename variables
• 将变量列表variables所列出的变量保存到磁盘文 件filename中 • Variables所表示的变量列表中,不能用逗ariables时,表示将当前工作空间中所有 变量都保持到磁盘文件中。 • 缺省的磁盘文件扩展名为“.mat”,可以使用“-” 定义不同的存储格式(ASCII、V4等)
• 5.2、表达式的规则
MATLAB的表达规则与一般手写算式基 本相同。
• a) 表达式由变量名、运算符和函数名组成。 • b) 表达式按优先级自左向右运算,括号可改变优 先级顺序。 • c)优先级顺序由高到底为:指数运算、乘除运算、 加减运算。 • d)表达式中赋值符“=”和运算符两侧允许有空格。

实验一Matlab运算基础

实验一Matlab运算基础

利用不同的方法对 =z
x2 − y2 16 9
在(-3,3)上的二维插值效果
进行比较。
三、实验总结
结合平时生活、学习经验,体会本次实验各种 方法的用处和重要性。
实验六 Matlab的基本应用3: 常微分方程求解
一、实验目的
1、学会用Matlab进行常微分方程的求解、 随机试验和统计作图
2、掌握相关数据分析函数库的内容
quit或exit
关闭/推出MATALB
二、实验内容
矩阵创建
直接输入 用语句生成 矩阵连接 创建矩阵函数 矩阵操作 复数
矩阵运算 元素群运算
P86, 4.1,4.2, 4.3,4.10
三、实验分析
1 2 3
4 6 8
矩阵A= 4 5 6 ,B= 5 5 6
7 8 9
3 2 2
(1)计算A*B, A.*B, 并比较两者的区别? (2)expm,sqrtm,logm与exp,sqrt,log的区别?
二、实验内容
(1)已知矩阵A=
5 9
2 1
,B=
1 9
2 2

做简单的关系运算A>B, A==B, A<B, 并做逻辑 运算(A==B)&(A<B), (A==B)&(A>B)。
(2)编写程序(分别用for 和while),实现:
用公式 π =1− 1 + 1 − 1 +…… 求π 的近似值,
4 357
直到某一项的绝对值小于10-6 为止。
三、实验分析与总结
对流程控制语句和结构进行分析和总结。
实验三 Matlab绘图
一、实验目的
1、了解并掌握matlab的基本绘图

MATLAB入门教程.pdf

MATLAB入门教程.pdf
学无 止 境
MATLAB 入门教程
1.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):无论正负,舍去小数至最近整数

第二章 Matlab的基本运算-yxw

第二章 Matlab的基本运算-yxw
• z=r*exp(i*theta) • z=complex(a,b)
2.2 矩阵和数组的算术运算
• 空数组(empty array):没有元素的数组; • 标量(scalar):是指1×1的矩阵,即为只含一
个数的矩阵; • 向量(vector):是指1×n或n×1的矩阵,即只
有一行或者一列的矩阵; • 矩阵(matrix):是一个矩形的m×n数组,即二
4字节 8字节
-3.40282×1038 ~ +3.40282×1038
-1.79769×10308 ~ +1.79769×10308
类型转换 函数 single()
double()
2.1.3 复数
• MATLAB用特殊变量“i”或“j”表示虚数的 单位。
• 复数的产生可以有几种方式:
• z=a+b*i或z=a+b*j • z=a+bi或z=a+bj(当b为常数时)
a(11)
• 中元素通过n个下标来引用:
图 2.4 矩阵的元素
• a(d1,d2,d3….)
例如:一个m×n的a矩阵的第i行第j列的元素表 示为a(i,j)。
• (2)单下标方式
• 数组元素用单下标引用,就是先把数组的所有 列按先左后右的次序连接成“一维长列”,然 后对元素位置进行编号。
• 以m×n的矩阵a为例,元素a(i,j)对应的单下标 = (j-1)×m+i。
• A. 10
B. 11
C.
9
D. 12
答案: B
• 3. 矩阵
• 矩阵是m行n列(m×n)的二维数组, 需要使用“[ ]”、“,”、“;”、空格等符号 创建。
• 最简单的方法是采用矩阵构造符“[]”。 构造1n矩阵(行向量)时,可以将各 元素依次放入矩阵构造符[]内,并且以 空格或者“,”分隔;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB基本运算
2007..7.12–2007
2007..7.18
上课日期:2007
、上机练习和自学相结合
:授课、
教学方法:授课
matlkw@
)
:梁克维(
(matlkw@zju
授课教师:梁克维
11::30,西1-204
上课:上午8:30–11
matlab的工作模式
•指令驱动模式
—通常matlab以指令驱动模式工作,即
在matlab窗口下当用户输入单行指令时
,matlab立即处理这条指令,并显示结
果,这就是matlab命令行方式。

—命令行操作时,matlab窗口只允许一
次执行一行上的一个或几个语句。

一、命令行的基本操作
1.创建矩阵的方法
•直接输入法
j矩阵元素必须用[ ]括住
k矩阵元素必须用逗号或空格分隔
分隔
分号分隔l在[ ]内矩阵的行与行之间必须用
必须用分号
,,矩阵元素可以是任何matlab表达式可以是实数
也可以是复数,复数可用特殊函数i输入
a=[1 2 3;4 5 6]
x=[2 pi/2;sqrt(3) 3+5i
x=[2 pi/2;sqrt(3) 3+5i]]
还可以用函数subs
修改,matlab6.0还
可用find函数修改。

相关文档
最新文档