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基本运算
矩阵下标的用途
访问超出矩阵范围时,产生 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规定必须是英文字母、阿拉伯数字和下划线等符号组成的字符串,第一个符号必须是英文字母。
2.Matlab中的数据及变量类型有三种类型的基本数据:(1)数值型数据,简称数值(Double Array):一般输入的数字均为数值数据,包含实数、复数。
(2)字符串型数据,简称字符量(Char Array):用英文格式单引号加以界定的数字、字符、各种符号、表达式、方程式和汉字等。
(3)符号型数据,简称符号量(Sym Object):用sym和syms可以把字符、表达式、方程、矩阵等定义成数学符号,称为符号型数据,运算结果为数学表达式。
在命令窗口中键入class(a),回车可知已有变量a是哪一种类型的数据。
3.变量名及赋值(略)2.1 数值矩阵2.1.1 永久性数值变量名除了i、j、pi、eps(浮点运算相对精度10-52)、Inf、NaN外还有,realmin(最小正浮点数2-1022)、realmax(最大正浮点数21023)。
2.1.2 数值矩阵的创建1.直接输入法>>a=[1 6 1;4 6 2;9 3 8];>> b=[2-3i,3+5i,2i;3,9i,6;5-i,7i,4];3.变换矩阵结构的命令flipud(a)——输出矩阵a上下翻转后的矩阵;fliplr(a)——输出矩阵a左右翻转后的矩阵;rot90(a,k)——输出矩阵a沿逆时针旋转k个90度后的矩阵,k为正负整数;rot90(a)——输出矩阵a逆时针旋转90度后的矩阵;reshape(A,m,n)——输出一个m×n=k阶矩阵,它是由矩阵a的k个元素重新排列构成的矩阵,重排前后元素在矩阵中的符号不变。
4.一批特殊向量(行矩阵)的创建(1)等差数列型向量的创建增量输入法:t=a:h:b或t=[a:h:b],>> t=(a:h:b),a、b为起始值,h为公差,可正,可负,省略时为1.例如>> t=0:0.1:2*pi线性等分命令t=linspace(a,b,n),a、b为起始值,n为(b-a)的等分点个数。
第二讲 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第二讲__数值计算和符号计算
(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
第二讲 MATLAB 绘图
绘制y=1-exp(0.3*t).*cos(0.7*t)
t=6*pi*(0:100)/100; y=1-exp(-0.3*t).*cos(0.7*t); tt=t(find(abs(y-1)>0.05)); ts=max(tt); plot(t,y,'r-'); grid on; axis([0,6*pi,0.6,max(y)]); title('y=1-exp(-\alpha*t)*cos(\omega*t)'); hold on; plot(ts,0.95,'bo'); hold off; set(gca,'xtick',[2*pi,4*pi,6*pi],'ytick',[0.95,1,1.05,max(y)]); grid on;
绘制曲线
x t cos(3t ) , t 2 y t sin t
t = -pi:pi/100:pi; x = t.*cos(3*t); y = t.*sin(t).^2; plot(x,y)
2015-5-14 10
图形标识
图形标识包括:
图名(title) 坐标轴名(xlabel、ylabel) 图形文本注释(text) 图例(legend)
2015-5-14 22
双纵坐标:plotyy指令
plotyy指令调用格式:
plotyy(x1, y1, x2, y2)
x1-y1曲线y轴在左, x2-y2曲线y轴在右。
例3.7:
x = 0:0.01:20; y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*sin(10*x); plotyy(x,y1,x,y2);
matlab-第2讲
函数使用说明: (1) 三角函数以弧度为单位计算。 (2) abs函数可以求实数的绝对值、复数的模、字符串的ASCII 码值. (3) 用于取整的函数有fix、floor、ceil、round,要注意它们的 区别。
• • • •
fix():向0方向靠拢取整 floor():向左取整,即向负无穷方向取整 ceil():返回大于等于指定表达式的最小整数,即向正无穷方向取整 round ():四舍五入 rem(x,y)=x-y.*fix(x./y) mod(x,y) )=x-y.*floor(x./y) rem(x,y)和mod(x,y)要求x,y必须为相同大 小的实矩阵或为标量。
A=
1 1 1 1 8 4 2 1 27 9 3 1 125 25 5 1
(3) 希尔伯特矩阵 在MATLAB中,生成希尔伯特矩阵的函数是hilb(n)。 使用一般方法求逆会因为原始数据的微小扰动而产生不可靠 的计算结果。MATLAB中,有一个专门求希尔伯特矩阵的逆 的函数invhilb(n),其功能是求n阶的希尔伯特矩阵的逆矩阵。
2.1.3 内存变量的管理
1.内存变量的删除与修改 工作空间窗口(Workspace)专门用于内存变量的管理。在 Workspace窗口中可以显示所有内存变量的属性。 当选中某些变量后,再单击Delete按钮,就能删除这些变 量。 当选中某些变量后,再单击Open按钮,将进入变量编辑器。 通过变量编辑器可以直接观察变量中的具体元素,也可修 改变量中的具体元素。
1 4 2 5 3 6
Ex:1. 写出完成下列操作的命令。
a. b.
c.
d. e.
将矩阵A 第2~5 行中的第1,3,5列元素赋给矩阵B。 删除矩阵A的第7号元素。 将矩阵A的每个元素值加30。 求矩阵A的大小和维数(提示:用size函数和ndims函数)。 将含有12个元素的向量x转换成3×4矩阵。
Matlab 第二讲:Matlab中的函数
15
MATLAB is column dominant, so when sort is used with a 2-D matrix, each column is sorted in ascending order
16
查看矩阵的大小
查看矩阵的大小:size、length
size(A) size(A,1) size(A,2)
Matlab中的函数
1
函数取值
函数作用在矩阵上的取值
设 x 是变量, f 是一个函数
当 x = a 是标量时,f(x) = f(a) 也是一个标量 当 x = [x1, x2, … , xn ] 是向量时,则 f(x) = [ f(x1), f(x2), … , f(xn)] 是一个与 x 长度相同的向量
f 作用在 x 的每个分量上!
若 A 是矩阵,则 f (A) 是一个与 A 同形状的矩阵
2
函数取值
f ( a11 ) f (a ) 21 f ( A) f ( am1 ) f ( a12 ) f ( a22 ) f ( am 2 ) f ( a1n ) f ( a2 n ) f ( amn )
若参数 x 是矩阵, 则作用在其各列上
6
Function Input can be either scalars or matrices
7
内置函数的使用
Functions consist of
Name Input argument(s) Output In MATLAB sqrt (x)= result sqrt(4) ans = 2
log(x) % ln(x) 自然对数 (以 e 为底) log2(x) % 以 2 为底的对数 log10(x) % 以 10 为底的对数 sqrt(x) abs(x) % 平方根 % 绝对值
第2讲 MATLAB初步
(2) 范得蒙矩阵 范得蒙(Vandermonde)矩阵最后一列全为1, 倒数第二列为一个指定的向量,其他各列 是其后列与倒数第二列的点乘积。可以用 一个指定向量生成一个范得蒙矩阵。在 MATLAB中,函数vander(V)生成以向量V 为基础向量的范得蒙矩阵。例如, A=vander([1;2;3;5])即可得到上述范得蒙矩 阵。
各种 format 格式
格式 解释 例
format
format short format long
短格式(缺省显示格式),同short
短格式(缺省显示格式),只显示5位 长格式,双精度数15位,单精度数7位
3.1416
3.1416 3.14159265358979
format short e
format long e format short g format long g format compact format loose
(5) 伴随矩阵 MATLAB生成伴随矩阵的函数是 compan(p),其中p是一个多项式的系数向 量,高次幂系数排在前,低次幂排在后。 例如,为了求多项式的x3-7x+6的伴随矩阵, 可使用命令: p=[1,0,-7,6]; compan(p)
(6) 帕斯卡矩阵 我们知道,二次项(x+y)n展开后的系数随n 的增大组成一个三角形表,称为杨辉三角 形。由杨辉三角形表组成的矩阵称为帕斯 卡(Pascal)矩阵。函数pascal(n)生成一个n阶 帕斯卡矩阵。
2.1.3 内存变量的管理 1.内存变量的删除与修改
clear命令用于删除MATLAB工作空间中的变 量。who和whos这两个命令用于显示在 MATLAB工作空间中已经驻留的变量名清 单。who命令只显示出驻留变量的名称, whos在给出变量名的同时,还给出它们的 大小、所占字节数及数据类型等信息。
第2讲 Matlab的数据处理
4
例5
纯文本文件 data3.txt 中存放如下格式的数据,把其中的数据读入 Matlab 中。 从产地到销地的单位运价表 B2 B3 B4 B5 B6 B7 B8 2 6 7 4 2 5 9 9 5 3 8 5 8 2 2 1 9 7 4 3 3 6 7 3 9 2 7 1 3 9 5 7 2 6 5 5 2 2 8 1 4 3 37 22 32 41 32 43 38
2
A{2,1}=3+7i; A{2,2}=0:pi/10:pi; 命令 B=cell(3,4) 创建一个 3 4 的细胞矩阵。 ii)细胞数组内容的查看 对于上面建立的数组 A,在 Matlab 命令窗口键入变量名 A,将显示数组的简要信息。用 大括号{ }括起来的下标为细胞数组的第几个元素,用圆括号()括起来的下标为大括号{ } 对应的某个元素的分量。如 A{2,2}(1),A{4}(1)
第2讲
Matlab 的数据处理
司守奎 烟台市,海军航空工程学院数学教研室 Email:sishoukui@ Matlab 数据类型有以下几种:数值类型,字符串,日期和时间,结构数组,细胞数组 (元胞数组) ,函数句柄, Java 对象,逻辑类型等。 数值类型包括双精度类型,单精度类型,整型类型。下面我们主要讲数值类型的数据 操作。 1 结构数组与细胞数组 1.1 结构数组 有时需要将不同的数据类型组合成一个整体, 以便于引用。 这些组合在一个整体中的数 据是相互联系的。例如,一个学生的学号、姓名、性别、年龄、成绩、家庭地址等项都是和 该学生有联系的。 下面简单介绍结构体的定义与引用。 i)结构数组的定义 定义结构数组可以采用两种方法:用赋值语句定义和用函数 struct 定义。 用赋值语句定义结构时,只要给出结构的属性赋值,Matlab 就会自动把该属性增加到 结构中,赋值时,结构名和属性名用“.”分开。例如,下面三条语句将定义一个 1 1 的结 构数组,结构名为 student,有三个属性:name、num、test。该结构数组只有一个元素, 在命令窗口中键入结构名 student,将显示该元素所有属性的属性值特性。 ='John Doe'; student.num=123456; student.test=[79 75 73;80 78 79;90 85 80]; 再键入以下三行可给该结构数组增加一个元素。 student(2).name='Ann Lane'; student(2).num=123422; student(2).test=[70 76 73;80 99 79;90 85 80;80 85 86]; 现在结构数组 student 的维数为1 2 。当结构数组的元素超过 1 个时,MATLAB 的显示 信息中,不再显示不同属性的值,而只显示数组名、属性名和维数大小。 函数 struct 也可用来定义结构数组,其调用格式为: 结构数组名=struct(‘属性 1’,属性值 1, ‘属性 2’,属性值 2,…) ii)结构数组属性值的修改、设置和获取 结构数组一旦形成, 就可取出数组中的某个元素并修改该元素的某个属性值。 以上面建 立的 student 数组为例,命令 str=student(2).name 可取出第二个元素的 name 属性的值。 命令 n=student(2).test(4,2) 取出第二个元素 test 的值中第四行第二列上的数。 同理,可用命令 student(2).test(4,2)=0 修改第二个元素 test 的值中第四行第二列上的数的值。 关于结构数组有表 1 中的函数。
第二讲 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和 拼接成新矩阵 ; ;
matlab7.0实用教程课件-第二讲
第二讲 Matlab数值计算
1.2 Matlab矩阵的创建
创建数组变量的一般方法
创建变量的赋值语句的一般格式 var=expression var为变量名 expression为MATLAB合法表达式
可以是单独的常数值或数值数组; 也可以由常数值、其他变量(部分或全部)、数 值数组和运算符(+、-等)构成。
【例2-1】键入并执行a2=[1 2 3;4 5 6;7 8 9] 【例2-2】键入并执行a2=[1:3;4:6;7:9] %结果同上
2015/10/25 College of Mechanical Engineering of University of South China , Hunan Hengyang
1
2
3
2
3 15
4
第二讲 Matlab数值计算
1.2 Matlab矩阵的创建
方法二:函数法(p104-107)
函数ones(生成全1矩阵)、zeros (生成全0矩阵) 、 eye(单位矩阵)、reshape(由向量重构生成矩阵)
【例2-4】创建全1的3〓3矩阵。 >> eye(2,3) >>ones(3) 【例2-5】创建全0的2〓3矩阵。 ans = >>zeros(2,3) 【例2-6】创建2〓3的单位矩阵。 1 0 0 >>eye(2,3) 思考题:若已知矩阵A,如何求与A同阶的单位
2015/10/25 College of Mechanical Engineering of University of South China , Hunan Hengyang 9
第二讲 Matlab数值计算
第二讲 MATLAB的数值计算 —— matlab 具有出色的数值计算能力,占据世界上数值计算软件的主导地位
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课件--第2讲-数组和矩阵
Matlab 软件实习
矩阵的创建
1) 矩阵的直接定义
键入:A=[1 2 3;4 5 6]
输出:A= 123 456
或键入:A=[1 2 3 4 5 6]
第9页,共66页。
Matlab 软件实习
>> A=[1 2 3;4 5 6;7 8 9]
A= 123 456
789
第10页,共66页。
Matlab 软件实习
第15页,共66页。
Matlab 软件实习
c. 三角矩阵
命令
triu(A) triu(A,k) tril(A) tril(A,k)
运行结果
生成一个和A维数相同的上三角矩阵。该矩 阵主对角线及以上元素取自A中相应元素。 其余元素为0。
生成一个和A维数相同的上三角矩阵。该矩 阵第k条对角线及以上元素取自A中相应元 素。其余元素为0。
max(v) min (v) sum(v) mean(v) sort(v)
求最大值
求最小值
求和
求平均值
按升序排列
第5页,共66页。
Matlab 软件实习
矩阵的创建
标量的创建
直接输入:
>>x = 7 x=
7
第6页,共66页。
Matlab 软件实习
行、列向量的创建
1、逐个元素输入法
❖ >> x=[2 pi/2 3+5i]
第20页,共66页。
Matlab 软件实习
用于专门学科的特殊矩阵
(1) 魔方矩阵 魔方矩阵有一个有趣的性质,其每行、
每列及两条对角线上的元素和都相等。对于 n阶魔方阵,其元素由1,2,3,…,n2共n2个整数 组成。MATLAB提供了求魔方矩阵的函数 magic(n),其功能是生成一个n阶魔方阵。
第2讲MATLAB程序设计及其调试
for i=1:length(y)
for j=1:length(x)
if x(j)+y(i)>1
z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2-1.5*x(j));
elseif x(j)+y(i)<=-1
z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j));
其他打开方式: • ‘r’ 打开文件,读数据,文件必须存在. • ‘w’ 打开文件,写数据,若文件不存在,系
统会自动建立. • ‘a’ 打开文件,在文件末尾添加数据. • ‘r+’ 打开文件,可以读和写数据,文件必须
存在. • ‘w+’ 打开文件,供读与写数据用. • ‘a+’ 打开文件,供读与添加数据用.
(1)读二进制文件 fread 函数可以读取二进制文件的数据,并将数据存 入矩阵。其调用格式为:
[A,Count]=fread(fid,size, precision) 其中A用于存放读取的数据,Count返回所读取的数 据元素个数,fid为文件句柄,size为可选项,若不选 用则读取整个文件内容,若选用则它的值可以是下列 值:
其中A为要写入文件的数据矩阵,先按format格式化 数据矩阵A,后写入到Fid所指定的文件.
例如:x = 0: 0.1: 1; y = [x; exp(x)]; Fid = fopen('exp.dt', 'w'); fprintf(Fid,'%6.2f %12.8f\n',y); fclose(Fid);
T=[95,14,0,0,0;88,48,32,12,6;67,64,54,48,41];