Matlab学习笔记(一)Matlab基本运算及语法
来源:互联网 发布:菜鸟网络 深圳 编辑:程序博客网 时间:2024/04/30 10:08
一、概述
Matlab(MATrix LABoratory),也即矩阵实验室,因而数据在其中都是以矩阵为基本数据单位保存的,就算一个数字,也是1*1的矩阵。本篇总结Matlab的一些基本的语法和函数用法,刚接触Matlab的可以看看。
二、矩阵的产生及基本运算
(1)假如现在要创建3*3矩阵,如
>> A = [1 2 3;4 5 6;7 8 9]A = 1 2 3 4 5 6 7 8 9
可以由save函数保存为mat文件,用的时候用importdata(filename)取出,如
save example A
或者是:
save 'example.mat' 'A'
则在右边文件路径下生成example.mat,使用importdata(filename)取出
>> B =importdata('example.mat') B = 1 2 3 4 5 6 7 8 9
(2)矩阵的基本运算包括+、-、*、/(右除)、\ (左除)、^ (乘方)、.* (点乘)、.^ (点乘方)、./ (点右除)等等
+、-、*为矩阵的常规运算,不作解释
/(右除),例如A/B,表示将A与B的逆矩阵相乘
\ (左除),例如A\B,表示将A的逆矩阵与B相乘
^ (乘方),例如A^2,则表示A*A;A^3则表示A*A*A
.* (点乘)、.^ (点乘方)、./ (点右除),对于这些加了.的运算符,要求运算符两边的矩阵必须是同等大小,然后执行的操作是两个矩阵中对应位置的元素进行乘、乘方、右除运算
(3)矩阵的行列式、秩、求逆、迹、范数、特征值与特征向量
若A为m*n矩阵,求行列式: det (A)
求逆矩阵:inv(A)
求秩:rank (A)
求迹(矩阵的特征值之和):trace(A)
求范数有:
A的1范数下的条件数:cond(A,1)
A的2范数下的条件数:cond(A, 2)
A的无穷范数下的条件数为:cond(A , inf)
求矩阵特征值与特征向量有:
X = eig ( A):表示求矩阵A的全部特征值,构成向量X
[Y , D] = eig (A):b表示矩阵A的全部特征值构成对角阵D,A的特征向量构成Y的列
(4)利用MATLAB内置的函数产生矩阵
ones ():生成全为1的矩阵
zeros ():生成全为0的矩阵
eye ():生成单位阵
rand():生成在(0 , 1)区间均匀分布的随机阵
randn():生成均值为0,方差为1的标准正太分布随机矩阵
company ():生成伴随矩阵
hilb ():生成Hilbert阵
magic():生成魔方阵
用法如ones(4,5)、ones(3)
(5)矩阵的拼接
水平拼接:C=[A B ]或C=[A ,B]
垂直拼接:C=[A ; B]
亦可由拼接函数cat()
C1 = cat (1 , A1 , A2); %垂直拼接
C2 = cat (2 , A1 , A2); %水平拼接
C3 = cat (3 , A1 ,A2); %三维数组
(6)矩阵的寻访
1.利用下标寻访
>> A =[1 2 3 ;4 5 6;7 8 9]A = 1 2 3 4 5 6 7 8 9>> b =A(2,2)b = 5
2.多元素寻访
M (1 , : )访问第1行所有元素
M (1:3 , :)访问第1~3行所有元素
M(: , 2)访问第2列所有元素
M (: , 2:3)访问第2~3列所有元素
M (1:2 , 2:3)访问第1~2行,第2~3列所有元素
M (:) 访问所有元素
三、M文件与M函数
(1)M文件
可以先把程序编写存储在M文件中,然后直接按下run按钮运行,这部分较为基础
(2)M函数
M函数是一个特殊的M文件,通常将某个函数定义于此,并将该函数与其他M文件放置在同一工作路径下,就可在其他M文件中调用该函数。
该M函数文件的开头格式为:
function表示返回变量列表 = 函数名 (输入变量列表 )
输入变量要用逗号隔开,输出变量多于1个的时候,也要用逗号隔开,并且用方括号括起来。该M函数文件的文件名需保存为函数名
示例
function [y1 , y1] = func ( x , y ,z ,w),
语句组
end
并且该M函数文件名必须存为func.m
四、Matlab程序设计的基本语法
(1)数据的输入和输出
input函数可用实现数据的输入,该函数的调用格式为
A = input ( 提示信息,选项)
其中,提示信息为一个字符串,用于提示用户输入什么样的数据
示例:
>> A = input('请输入A的值:')请输入A的值:1A = 1
当函数括号中第二个参数使用’s’,则可以输入一个字符串保存至输出变量中
示例:
>> A = input('How are you? ' , 's')How are you? I am fine.A =I am fine.
对于数据的输出,则使用函数disp,调用格式为:
disp (输出项)
输出项可为字符串,也可为矩阵,也可为数据变量;当将字符串与数据变量一块输出显示时,需用num2str(),将变量转换为字符串。
示例:
>> A = 2 A = 2>> disp(['1+1 = ',num2str(A)])1+1 = 2
(2)判断语句
判断语句格式为
if 表达式
执行程序块
end
或者
if 表达式
执行程序块1
else
执行程序块2
end
或者有多个选择时,可以if …elseif…else…end,中间可包含多个elseif语句
(3)分支结构
分支语句结构为:
switch 分支语句
case 条件语句
执行程序块
case {条件语句1 ,条件语句2 ,…}
执行程序块
end
(4)for循环语句
for 语句调用的基本格式为:
for index =初值 : 增量 :终值
语句组
end
for 循环语句还可以嵌套使用
示例
>> for i = 1:100
for j =1:100
A(i ,j) =i+j;
end
end
(5)while循环语句
while 表达式
执行程序块
end
五、Matlab二维绘图的基本函数
figure函数用于创建一个新的图形对象,用来显示图形,配合plot函数。
subplot函数用于生成与控制多个坐标轴,用法为subplot(m,n,p),即表示将一图形窗口分成m*n个小窗口,在第p个小窗口中创建一坐标轴
axis函数用于坐标轴的刻度与外在的显示,用法为 axis([xmin , xmax , ymin , ymax]),确定坐标轴的范围
title函数用于给当前轴加上坐标轴,用法为 title(‘string’)
xlabel,ylabel函数用于给x,y轴贴标签,用法为xlabel(‘string’),ylabel(‘string’)
legend函数用于在图形上添加图例,用法如legend(‘string1’ , ‘string2’ ,’ string3’ ,…., pos),pos表示图例的放置位置
plot函数用于绘制曲线图,用法如 plot(x1,y1, ‘线型颜色‘ , x2 , y2 ,‘线型颜色’ , …)
其中线型有+、o、* 、.、x、d、^、v、>、<、s、h、p
颜色有-、--、:、-.
还有很多函数,这里不一一例举了。
- Matlab学习笔记(一)Matlab基本运算及语法
- MATLAB学习笔记(一):基本操作
- matlab 基础语法笔记(一)
- Matlab学习笔记(一)
- MATLAB学习笔记(一)
- matlab学习笔记(一)
- Matlab学习笔记(一)
- MATLAB学习笔记(一)
- matlab学习笔记(一)
- matlab基本语法和运算基础
- matlab基本语法和运算基础
- MATLAB学习笔记一
- MATLAB学习笔记一
- matlab符号运算学习笔记
- matlab学习笔记:符号运算
- MATLAB基本运算(1)
- Matlab入门教程--基本运算与函数(一)
- 【Matlab学习笔记】(一)初识Matlab和简单计算
- 程序员书单_程序人生篇
- HDOJ 4549 M斐波那契数列(矩阵快速幂 + 费马小定理)
- R语言绘图
- 反渗透设备:反渗透设备自动化程度高
- 九度考研真题 2009-1哈工 1049:字符串去特定字符
- Matlab学习笔记(一)Matlab基本运算及语法
- java基础 多线程 简单总结
- 协议[I2C]_I2C子系统之at24c02读写测试
- 九度考研真题 2009-1上交1096:日期差值
- 解决Spring定时计划任务重复执行两次
- HDOJ 1000 A + B Problem
- [IOS] ASIHttpRequest库使用过程中发现的几个小问题
- 静态代码检查工具 FindBugs
- 如何使用github?github简单使用教程(转)