MATLAB第二讲数值计算和符号计算

合集下载

matlab2_matlab教程

matlab2_matlab教程

x1+2x2+3x3=1 2x1+3x2+4x3=2 a=[1 2 3;2 3 4];b=[1;2]; x=a\b x= 1.00 0 x=
x1 1 2 3 1 x2 = 2 3 4 2 x3
a
x = b
x=pinv(a)b
0.83 0.33
0
-0.17
六、微分方程求解
微分方程求解的仿真算法有多种,常用 的有Euler(欧拉法)、Runge Kutta(龙 格-库塔法。 Euler法称一步法,用于一阶微分方程
a=[1 2 3;4 5 6;7 8 9]; b=[2 4 6;1 3 5;7 9 10]; a.*b ans = 2 8 18 4 15 30 49 72 90
a=[1 2 3;4 5 6;7 8 9]; b=[2 4 6;1 3 5;7 9 10];
a*b ans = 25 55 85
37 85 133
二、数据的保存与获取
把matlab工作空间中一些有用的数 据长久保存下来的方法是生成mat数 据文件。 save —— 将工作空间中所有的变 量存到matlab.mat文件中。 默认文件名
save data——将工作空间中所
有的变量存到data.mat文件中。
save data a b ——将工作空间 中a和b变量存到data.mat文件中。
rand —— 随机矩阵
eye —— 单位矩阵
zeros ——全部元素都为0的矩阵
ones ——全部元素都为1的矩阵
还有伴随矩阵、稀疏矩阵、魔方 矩阵、对角矩阵、范德蒙等矩阵的创 建,就不一一介绍了。
注意:matlab严格区分大小写字母,因
此a与A是两个不同的变量。 matlab函数名必须小写。

Matlab

Matlab

1.数值计算和符号计算功能例如,求解线性方程组:在MA TLAB 命令窗口输入命令: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 =300sin x /x 和y =x 2的曲线x=-20:0.1:20; plot(x,300*sin(x)./x,':',x,x.^2);2.设置搜索路径(1)用path 命令设置搜索路径例如,将用户目录c:\mydir 加到搜索路径下:path(path,'e:\matlab\work')(2)用对话框设置搜索路径在MA TLAB 的File 菜单中选择Set Path 命令或在命令窗口执行pathtool 命令⎪⎩⎪⎨⎧=-+=+-=-+98368353732321321321x x x x x x x x x1.变量命名在MA TLAB 7.X 中,变量名是以字母开头,后接字母、数字或下画线的字符序列,最多63个字符。

【例1.1】当 时,计算表达式 的值,并将结果赋给变量y ,然后显示出结果。

在MA TLAB 命令窗口分别输入命令: x=sqrt(1+pi);y=(exp(x)+log(abs(sin(x)^2-sin(x*x))))/(x-5*i)y =0.5690 + 1.3980i其中,pi 和i 都是MATLAB 定义的变量,分别代表圆周率π和虚数单位。

【例1.2】利用M 文件建立mydata 矩阵。

(1)启动有关文本编辑程序或MATLAB 的M-file 编辑器(见第2章),并输入待建矩阵: mydata=[1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9;2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9;3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9];(2)把输入的内容存盘(设文件名为matfund.m )。

MATLAB中的数值计算与符号计算

MATLAB中的数值计算与符号计算
上页 下页 退出
哈 工 程 大 学 数 学 实 验 电 子 教 案
syms x y; dblquad('x*y',0,1,-1,2) ans = 0.7500 这说明 , 不是语法错误 . 实际上 ,这个命令只能计算 矩形区域的积分,如果积分区域不上矩形区域,那么, 你就得定义一个二元函数 , 让这个函数在积分区域 外为0,比如,对此积分,定义
xy , ( x ,y ) D f( x ) 0 , ( x ,y ) D
而且,它也只能计算二重积分的数值解.
上页 下页 退出
◆关于微分方程的求解
哈 工 程 大 学 数 学 实 验 电 子 教 案
命令格式: dsolve(‘eqn1’, ‘eqn2’, …….); 如果不额外说明, 默认的变量是t dsolve('Dy=y^2*(1-y)') Warning: Explicit solution could not be found; implicit solution returned. > In C:\MATLABR12\toolbox\symbolic\dsolve.m at line 292 ans = t+1/y-log(y)+log(-1+y)+C1=0 dsolve('D2y = -a^2*y', 'y(0) = 1, Dy(pi/a) = 0') ans =cos(a*t) [x,y]=dsolve('Dx = y', 'Dy = -x', 'x(0)=0', 'y(0)=1') x =sin(t) y =cos(t)
第一种方法,用梯形法计算,其命令为trapz(x,y), 其中x, y 是具有相同长度的向量 , 表示用梯形法分割时 , 数据 点上的值. 此积分的实际值为0.199(精确到20位) x=1:0.1:10; y=sin(sin(x)); trapz(x,y) ans = 1.1981

matlab数值运算和符号运算

matlab数值运算和符号运算

《深度探讨:从数值运算到符号运算的MATLAB应用》在科学计算领域中,MATLAB无疑是一个不可或缺的工具。

它被广泛应用于数学建模、数据分析、图形可视化和算法开发等领域。

在MATLAB中,数值运算和符号运算是两个核心概念,它们分别在不同的领域中发挥着重要作用。

本文将从数值运算和符号运算两个方面展开讨论,带您深入探索MATLAB的应用价值。

一、数值运算1. MATLAB中的数值数据类型在MATLAB中,常见的数值数据类型包括整数、浮点数和复数等。

它们在科学计算中有着广泛的应用,例如在矩阵运算、微分方程求解和优化算法中。

2. 数值计算函数的应用MATLAB提供了丰富的数值计算函数,包括线性代数运算、插值和拟合、统计分布和随机数生成等。

这些函数为科学计算提供了强大的支持,使得复杂的数值计算变得更加简单高效。

3. 数值方法在实际问题中的应用通过具体的案例,我们可以深入了解MATLAB在实际问题中的数值计算方法。

通过有限元分析解决结构力学问题、通过数值积分求解物理方程、通过数值微分求解工程问题等。

二、符号运算1. MATLAB中的符号计算工具MATLAB提供了符号计算工具包,可以进行符号变量的定义、代数运算、微分积分和方程求解等。

这为数学建模、符号推导和精确计算提供了强大的支持。

2. 符号计算函数的应用通过具体的例子,我们可以深入了解MATLAB中符号计算函数的应用。

利用符号计算求解微分方程、利用符号变量定义复杂的代数表达式等。

3. 符号计算在科学研究中的应用通过详细的案例,我们可以了解符号计算在科学研究中的应用。

利用符号计算推导物理模型、利用符号运算求解工程问题等。

总结与展望:通过本文的深度探讨,我们对MATLAB中的数值运算和符号运算有了全面的了解。

数值运算为我们提供了高效的数值计算工具,而符号运算则为我们提供了精确的符号计算工具。

这两者相辅相成,在不同的领域中发挥着重要的作用。

希望通过本文的阐述,读者可以更加深入地理解MATLAB中数值运算和符号运算的应用,提升科学计算的能力和水平。

MATLAB基础教程 第2章 数组、矩阵及其运算

MATLAB基础教程 第2章 数组、矩阵及其运算

写出MATLAB表达式。 解:根据MATLAB的书写规则,以上MATLAB表达式为: (1)y=1/(a*log(1-x-1)+C1) (2)f=2*log(t)*exp(t)*sqrt(pi) (3)z=sin(abs(x)+abs(y))/sqrt(cos(abs(x+y))) (4)F=z/(z-exp(T*log(8)))
命令:X(3:-1:1)
命令:X(find(X>0.5)) 命令:X([1 2 3 4 4 3 2 1])
第二章 数组、矩阵及其运算
2.1 数组(矩阵)的创建和寻访
2. 二维数组的创建和寻访
例2-3 综合练习。将教材P.31~P.44的实例按顺序在MATLAB的 command窗口中练习一遍,观察并体会其输出结果。 (注意变量的大小写要和教材上的严格一致。)
A./B
B.\A
A的元素被B的对应元素相除
(与上相同)
第二章 数组、矩阵及其运算
2.3 数组、矩阵的其他运算
1. 乘方开方运算
数组的乘方运算与power函数 格式:c=a.^k或c=power(a,k) 例如: >> g=[1 2 3;4 5 6] >>g.^2 矩阵的乘方运算与mpower函数 格式:C=A^P或C=mpower(A,P) 注意:A必须为方阵
第二章 数组、矩阵及其运算
2.2 数组、矩阵的运算
3. 矩阵的加法、减法
运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算, A和B矩阵的相应元素相加减。如果维数不相同,则MATLAB将给出
出错信息。
第二章 数组、矩阵及其运算
2.2 数组、矩阵的运算
3. 矩阵的乘法

第二讲 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软件的数值计算方法2

第二章 Matlab软件的数值计算方法2

3)三角函数、双曲函数及它们的反函数 )三角函数、 只用于数值计算外, 除atan2只用于数值计算外,其余的三角函数(如sin)、 只用于数值计算外 其余的三角函数( )、 双曲函数( 双曲函数(如cosh)以及它们的反函数(如asin, acosh) )以及它们的反函数( ) 在数值计算和符号计算中使用方法都相同。 在数值计算和符号计算中使用方法都相同。 4)指数、对数函数 )指数、 数值、符号计算中,函数sqrt, exp, expm的使用方法 数值、符号计算中,函数 的使用方法 完全相同,至于对数函数,符号计算中只有自然对数log, 完全相同,至于对数函数,符号计算中只有自然对数log, 而没有数值计算中的log2, log10。 而没有数值计算中的 。 5) 复数函数 ) conj, real, imag, abs相同,但无求相角的指令。 相同, 相同 但无求相角的指令。 6) 矩阵代数指令 ) diag, triu, tril, inv, det, rank, rref, null, colspace, poly, expm, eig基本与数值计算相同,只有 基本与数值计算相同, 稍微不同。 基本与数值计算相同 只有svd稍微不同。 稍微不同
1.3 符号表达式中自由变量的确定 findsym可实现对表达式中所有自由符号变量或指定数 可实现对表达式中所有自由符号变量或指定数 目的独立自变量的自动认定。 目的独立自变量的自动认定。 findsym(expr) findsym(expr,n) 【例7】对独立自由符号变量的自动辨认。 】对独立自由符号变量的自动辨认。 syms a b x X Y; k=sym('3'); z=sym('c*sqrt(delta)+y*sin(theta)'); EXPR=a*z*X+(b*x^2+k)*Y; findsym(EXPR)

第2章 matlab的符号运算

第2章 matlab的符号运算

>>p0 = sym(‘(1+sqrt(5))/2’)
p0 = (1+sqrt(5))/2 >>pr = sym((1+sqrt(5))/2,'r') pr =7286977268806824*2^(-52) >>e32r = vpa(abs(p0-pr),16) e32r = 0
%广义有理表示
Matlab程序设计
Matlab程序设计
2.2 符号数字 sc = sym(‘Num’) %符号常数sc的值精确等于Num 例:a = pi + sqrt(5) %a为数值类常量 sa = sym(‘pi + sqrt(5)’) %sa为符号数字常量
% sa = pi + sqrt(5), sym型; eval(sa) 为5.3777, double型
k = sym('k','positive');
Matlab程序设计
2.4 符号变量
符号变量与符号参数的创建方法相同,但表达式或 方程中作用不同. 确定自由符号变量: findsym(EXPR , N) %确认EXPR中距离x最近的N个自由符号变
量, 略去N表示全部
例2.1-1 用符号计算研究方程uz2+vz+w=0的解 syms u v w z Eq=u*z^2+v*z+w; %符号方程 r_1=solve(Eq) %一个方程只能解一个未知数w(离x最近) findsym(Eq,1) %只找一个自由符号变量,则找到w r_2=solve(Eq,z)
3.3 符号表达式的操作 例:化简 S=(x2+y2)2+(x2-y2)2 syms x y; S=(x^2+y^2)^2+(x^2-y^2)^2 simple(S) %系统自动试探各种函数化简 simple(ans) %使用多次找到最少字母的简化式 例2.2-3:对符号矩阵进行特征向量分解. syms a b c d W [V,D]=eig([a b;c d]) [RVD,W]=subexpr([V;D],W)

MATLAB第二讲__数值计算和符号计算

MATLAB第二讲__数值计算和符号计算

(4)数值运算中必须先对变量赋值;符号运算无须事先对变 量赋值,但必须先定义,运算结果以标准的符号表达 式形式给出。
Matlab基础应用 21
2.2.2 符号运算中的运算符
(1)基本运算符 符号矩阵:‚+”,‚-”,‚*‛,‚\”, ‚/”, ‚^”, ‚ ’ ” 符号数组:‚.*”,‚./”,‚.\‛,‚.^”, ‚.’ ” (2)关系运算符 运算符只有‚==”,‚~=”。
Matlab基础应用 7
1.3.4 多项式乘除运算(续)
例4: a(x)=x2+2x+3; b(x)=4x2+5x;求c=a(x)*b(x)。 解: >>a=[1 2 3];b=[4 5 0]; >>c=conv(a,b) c= 4 13 22 15 0 >>[d,r]=deconv(c,a) d= 4 5 0 r= 0 0 0 0 0
注意: 方法一只创建了符号表达式,没有创建符号变量; 而方法二既创建了符号表达式,又创建符号变量.
Matlab基础应用 19
2.1.3 创建符号矩阵
使用sym和syms命令创建
例4: A=sym(‘[a,b;c,d]’) A= [ a, b] [ c, d] syms f g h k B=[f,g;h,k] B=
%方法二
Name Size Bytes Class a 1x1 126 sym object b 1x1 126 sym object c 1x1 126 sym object f2 1x1 146 sym object x 1x1 126 sym object Grand total is 20 elements using 650 bytes

第2章 MATLAB数值计算

第2章  MATLAB数值计算

第2章 MATLAB数值计算MATLAB的数学计算=数值计算+符号计算其中符号计算是指使用未定义的符号变量进行运算,而数值计算不允许使用未定义的变量。

2.1 变量和数据2.1.1数据类型数据类型包括:数值型、字符串型、元胞型、结构型等数值型=双精度型、单精度型和整数类整数类=无符号类(uint8、uint16、uint32、uint64)和符号类整数(int8、int16、int32、int64)。

2.1.2数据1. 数据的表达方式▪可以用带小数点的形式直接表示▪用科学计数法▪数值的表示范围是10-309~10309。

以下都是合法的数据表示:-2、5.67、2.56e-56(表示2.56×10-56)、4.68e204(表示4.68×10204)2. 矩阵和数组的概念在MATLAB的运算中,经常要使用标量、向量、矩阵和数组,这几个名称的定义如下:▪标量:是指1×1的矩阵,即为只含一个数的矩阵。

▪向量:是指1×n或n×1的矩阵,即只有一行或者一列的矩阵。

▪矩阵:是一个矩形的数组,即二维数组,其中向量和标量都是矩阵的特例,0×0矩阵为空矩阵([])。

▪数组:是指n维的数组,为矩阵的延伸,其中矩阵和向量都是数组的特例。

3. 复数复数由实部和虚部组成,MATLAB用特殊变量“i”和“j”表示虚数的单位。

复数运算不需要特殊处理,可以直接进行。

复数可以有几种表示:z=a+b*i或z=a+b*jz=a+bi 或z=a+bj(当b 为标量时) z=r*exp(i*theta)● 得出一个复数的实部、虚部、幅值和相角。

a=real(z) %计算实部 b=imag(z) %计算虚部 r=abs(z) %计算幅值 theta=angle(z) %计算相角 说明:复数z 的实部a=r*cos(θ); 复数z 的虚部b=r*sin(θ); 复数z 的幅值22b a r +=;复数z 的相角theta=arctg(b/a),以弧度为单位。

第二讲 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的数值运算与符号运算
• 1.矩阵/数组的加减运算 矩阵与数组的加减运算规则相同,运算符也 完全相同。
MATLAB与控制系统仿真实践, 北京航空航天大学出版社,2009.8. 在线交流,有问必答
演示例9: 求2矩阵的和。
MATLAB与控制系统仿真实践, 北京航空航天大学出版社,2009.8. 在线交流,有问必答
• 2. 矩阵/数组的乘法运算 数组相乘是对应元素的相乘,这与矩阵相乘 是不同的。矩阵A、B相乘要求A的列数和B 的行数相等,除非其中一项是标量。矩阵 相乘可表示为:
M = magic(n) y = linspace(a,b) y = linspace(a,b,n) y = logspace(a,b) y = logspace(a,b,n)
MATLAB与控制系统仿真实践, 北京航空航天大学出版社,2009.8. 在线交流,有问必答
3.1.1数组与矩阵的输入
演示例4: 通过MATLAB内建函数产生矩阵或数组。
• 3.2 MATLAB的基本数学运算
– – – – – – – – 3.2.1 算术运算 3.2.2 关系运算 3.2.3 逻辑运算 3.2.4 运算优先级 3.3.1 符号运算基本函数及示例 3.3.2 符号代数方程求解 3.3.3 符号微积分运算 3.3.4 Laplace, Z变换及反变换
MATLAB与控制系统仿真实践, 北京航空航天大学出版社,2009.8. 在线交流,有问必答
MATLAB与控制系统仿真实践, 北京航空航天大学出版社,2009.8. 在线交流,有问必答
3.1.1数组与矩阵的输入
• 3.通过提示语句输入矩阵或数组 x = input('prompt')或x= input('prompt','s')在屏 幕上显示一个提示符,等待用户从键盘输 入,并读取用户输入到工作空间中。第一 种方式供输入数字,而后一种方式供输入 字符串。

第二讲 MATLAB的数值计算 —— matlab 具有出色的数值计算能力,占据世界上数值计算软件的主导地位

第二讲 MATLAB的数值计算 ——  matlab 具有出色的数值计算能力,占据世界上数值计算软件的主导地位
x= 2.00 3.00
x=a\b x= 2.00 3.00
2.超定方程组的解
方程 ax=b ,m<n时此时不存在唯一解。 方程解 (a ' a)x=a ' b
x=(a' a)-1 a ' b —— 求逆法 x=a\b —— matlab用最小二乘法找一
个准确地基本解。
例: x1+2x2=1 2x1+3x2=2 3x1+4x2=3
特征多项式一定是n+1维的
特征多项式第一个元素一定是1
例:a=[1 2 3;4 5 6;7 8 0]; p=poly(a)
p =1.00 -6.00 -72.00 -27.00 p是多项式p(x)=x3-6x2-72x-27的
matlab描述方法,我们可用: p1=poly2str(p,‘x’) — 函数文件,显示 数学多项式的形式
matlab函数名必须小写。
3. 矩阵的修改
直接修改 可用键找到所要修改的矩阵,用键
移动到要修改的矩阵元素上即可修改。 指令修改
可以用A(,)= 来修改。
例如
a=[1 2 0;3 0 5;7 8 9]
a =1 2 0
305 789
还可以用函数subs
a(3,3)=0 a =1 2 0
p1 =x^3 - 6 x^2 - 72 x - 27
2.roots —— 求多项式的根
a=[1 2 3;4 5 6;7 8 0];p=poly(a) p=
1.00 -6.00 -72.00 -27.00 r=roots(p) r = 12.12
-5.73 ——显然 r是矩阵a的特征值 -0.39
用除法求的解x是具有最多零元素的 解 是具有最小长度或范数的解,这个 解是基于伪逆pinv求得的。

Matlab语言数值和符号运算-编程-绘图

Matlab语言数值和符号运算-编程-绘图

最低级
先觉逻辑或(||)
1.3 矩阵 1.3.1 矩阵构建---1.直接输入法
矩阵中的元素需要用([])括住;
矩阵中每行的元素之间需要用逗 号(,)或空格符隔开; 矩阵中行与行之间需要分号(;) 或回车键隔开,以便区分; 矩阵中的元素可以是数值类型或 表达式类型。
1.3.1 矩阵的构建 2. 通过语句构造生成矩阵1
1.3.1 矩阵的构建 3. 通过矩阵生成函数构造特殊矩阵
表1-8 特殊矩阵函数(续) 示范 函数名 eye(n) 函数功能 产生n×n阶单位矩阵
输入
eye(3)
结果
1 0 0 0 1 0 0 0 1 1 0 0 0 1 0
eye(m,n)
产生m×n的矩阵,其中 对角线元素为1,其它0
eye(2,3)
1.3.1 矩阵的构建 2. 通过语句构造生成矩阵2
x=linspace(first,last,num)
线性等分向量 first-------行向量的起始值; last--------行向量的结束值; num------行向量中所含元素个数。 如果num缺省,默认值为100。
x=logspace(a,b,n)
0.8147 0.1270 0.6324 0.9058 0.9134 0.0975
randn(m,n) 产生正态分布的随机矩 阵
rand(2,3)
0.2785 0.9575 0.1576 0.5469 0.9649 0.9706
1.3.1 矩阵的构建 3. 通过矩阵生成函数构造特殊矩阵
表1-8 特殊矩阵函数(续) 示范 函数名 函数功能 输入 结果
表1-1 Matlab中默认的常量 常量名称 pi INF或inf 圆周率π的双精度浮点表示 无穷大 说明

Matlab基础(数值计算、符号计算和绘图)

Matlab基础(数值计算、符号计算和绘图)

Matlab基础(数值计算、符号计算和绘图)Matlab基础(数值计算、符号计算和绘图)第一章 MATLAB帮助1.常用的帮助命令Help lookfor which set/get doc type edit helpin2.帮助窗口3.演示系统第二章MATLAB基础1.MATLAB特点基本计算单元是矩阵、向量,功能的扩展性(除了基本部分外还有专业扩展部分)2.MATLAB组成MATLAB MATLAB Compiler Simulink Stateflow RTW3.MATLAB主要功能数学计算开发工具(MATLAB Editor M-Lint Code Checker MATLAB Profiler Directory Reports) 数据的可视化交互式编辑创建图形集成的算法开发编程语言和环境图形用户界面开发环境--GUIDE 开放性、可扩展性强专业应用工具箱4.MATLAB变量需要注意系统变量,如:ans eps i j pi5.MATLAB数据类型需要注意在命令窗口中可以通过输入help datatypes命令来获取MATLAB的数据类型列表。

class函数可用来获取一个变量的数据类型。

需要注意MATLAB中变量默认的类型为双精度浮点型(double)。

MATLAB的数据类型名称同样就是数据类型转换的函数。

6.MATLAB路径管理MATLAB搜索路径(菜单栏File-Set Path)MATLAB目录管理命令(path which addpath rmpath)7.MATLAB工作空间工作空间的存取(save load)工作空间管理命令(who whos clear pack size disp length)8.MATLAB的其他命令管理命令和函数(help doc what type lookfor which path)与文件和操作系统有关的命令(cd dir delete getenv ! unix)控制命令窗口)(cedit clc clf home more)启动和退出MATLAB(quit startup)一般信息(info subscribe hostid whatsnew ver )第三章 MATLABA数据1.矩阵的建立方式命令窗口中直接输入通过语句和函数建立矩阵(from:step:to linspace logspace)从外部数据文件中导入矩阵2.特殊类型矩阵Zeros(m,n) ones(m,n) eye(m,n) rand(m,n) randn(m,n) randperm(n) magic(n)字符串3.矩阵下标与子矩阵4.矩阵处理技巧矩阵赋值矩阵元素的删除矩阵的合并5.字符串的建立注意多个字符串可以用strcat函数连接在一起。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解: >>p1=[1 21 20 0]; >>x=0:0.5:3; >>polyval(p1,x)
0 15.3750 42.0000 80.6250 132.0000 196.8750 276.0000
4 Matlab基础应用
1.3.2多项式求根 ---求方程的解
在MATLAB利用函数:roots
cumsum(X,n)
沿第n维求累计和
cumprod(X,n) trapz(x,y) cumtrapz(x,y,n)
Matlab基础应用
沿第n维求累计乘积
梯形法求积分近似于求元素和,把相邻两点数 据的平均值乘以步长表示面积。x为自变量,y 为函数。
用梯形法沿第n维求函数y对自变量x累计积分。
14
(3)元胞数组元素内容的获取: X=A{2,1} X=[1 1 1; 1 1 1; 1 1 1]
10 Matlab基础应用
1.6 结构数组
(1)结构数组的基本组成是结构,每个结构都包含某一对象的 多个域,以‘.’来标识域。
(2)结构数组的创建:
方法1:TU(1)=struct(‘name’,‘曲线1’,‘color’,’red’,…) 方法2:TU(1).name=‘曲线1’; TU(1).color=‘red’
TU(1).shape=‘sin’; TU(1).position=[0 pi]
TU(2).name=‘曲线2’; TU(2).color=‘blue’
TU(2).shape=‘cos’; TU(2).position=[0 2*pi]
(3)结构数组元素内容的获取:用‘.’号来获取
X=TU(2).shape
X=cos
11 Matlab基础应用
1.7 数据分析
遵循的原则:
(1)如果输入是向量,则按整个向量进行 计算。
(2)如果输入的是矩阵,则按列进行运算。
因此:一定要将需要分析的数据按列进行分类。 若已有的矩阵是按行进行分类的,可用矩阵的旋 转使矩阵变成按列进行分类.
12 Matlab基础应用
1.7.1数据统计和相关分析
第二讲 数值计算和符号运算
MatlabHale Waihona Puke 础应用11.数值计算
1.1 矩阵和数组基础
•创建矩阵 •元素标识 •矩阵操作 •矩阵函数 1.2 矩阵和数组的计算
2 Matlab基础应用
1.3 多项式运算
MATLAB语言把多项式表达成一个行向 量,该向量中的元素是按降幂排列多项式 各项系数的,如果缺某次幂项,则该次幂 项系数为0。
多项式的除法
语法:[q,r]=deconv(p1,p2) 说明:p1被p2除,商为多项式q,余数式为r。
7 Matlab基础应用
1.3.4 多项式乘除运算(续)
例4: a(x)=x2+2x+3; b(x)=4x2+5x;求c=a(x)*b(x)。
解: >>a=[1 2 3];b=[4 5 0]; >>c=conv(a,b) c=

f(x)=anxn+an-1xn-1+…… a1x+a0
用行向量 p=[an an-1 …… a1 a0]表示。
多项式
行向量
3 Matlab基础应用
1.3.1 多项式求值
可用polyval函数,计算多项式在变量 为特定值的结果。
例2:计算x=0:0.5:3时,p(x)=x3+21x2+20x值。
A(s) s p1 s p2
s pn
语法:[r,p,k]=residue(B,A) 其中:B,A分别为分子、分母多项式系数行向量; r为[r1,…rn]留数行向量; p为[p1…pn]极点行向量; k为直项行向量。
6 Matlab基础应用
1.3.4 多项式乘除运算
多项式的乘法
语法:p=conv(p1,p2) 说明:p是多项式p1和p2的乘积多项式。
沿第n维按模增大重新排序,k为S元素的 原位置。
13 Matlab基础应用
1.7.2 差分与积分
函数名 diff(X,m,n)
功能
沿第n维求第m阶列向差分。差分是求相邻行(列 )之间的差,结果会减少一行(列)
[fx,fy]=gradient(Z) 对Z求x、y方向的数值梯度。
sum(X)
矩阵各列元素的和。
4 13 22 15 0 >>[d,r]=deconv(c,a) d=
450 r=
00000
8 Matlab基础应用
1.4 字符串
(1)字符串用字符数组来存储,以单引号‘ ’来界定。
(2)常见的字符串函数:
length(str):计算字符串的长度; double(str):查看字符串的ASCII码; char(x):将ASCII码转换成字符串形式; strcmp(x,y):比较两字符串是否相同; strcat(s1,s2,…):字符串级连函数; findstr(x,x1):查找x中是否有x1;
(3)执行字符串: eval(str)命令
例1:str1=‘a=2*3’;
eval(str1)
a=6
9 Matlab基础应用
1.5 元胞数组
(1)元胞数组的基本单元是元胞,每个元胞可存放不同类型 (矩阵、数组、字符串等)的数据,以{ }来界定。
(2)元胞数组的创建: 方法1:直接创建 如:A={‘THIS’,[3 4];ones(3),{‘ONE’,‘TWO’}} 方法2:由各元胞创建 如:A(1,1)={‘THIS’} A(1,2)={[3 4]} A(2,1)={ones(3)} A(2,2)={{‘ONE’,‘TWO’}}
例3:p(x)=x3-6x2-72x-27
解: >>p=[1 -6 -72 -27] >>r=roots(p) r =12.1229 -5.7345 -0.3884
5 Matlab基础应用
1.3.3 部分分式展开
利用residue函数来实现部分分式展开。
B(s) r1 r 2 ... rn k(s)
函数名
功能
max(X)
矩阵中各列的最大值。
min(X)
矩阵中各列最小值。
mean(X)
矩阵中各列平均值。
std(X)
矩阵中各列标准差,指各元素与该列平均 值(mean)之差的平方和开方。
median(X) 矩阵中各列的中间元素。
var(X)
矩阵中各列的方差。
C=cov(X) 矩阵中各列间的协方差。
[S,k]=sort(X,n)
相关文档
最新文档