matlab学习记录

本文记录了MATLAB的学习过程,包括基础语法、矩阵运算、绘图功能以及在数值计算中的应用。通过实例解析,深入理解MATLAB的强大功能,并探讨了一些提高效率的编程技巧。
摘要由CSDN通过智能技术生成
%矩阵
a=[1,2,3;
     4,5,6;
     7,8,9]     %在Matlab在存储矩阵时,是一列一列存储的
a(3)             %位置3的元素(竖着数)
a(2,1)          %a第2行第1列个元素
b=[1,1,1;2,2,2]
a1=a'            %转置
a2=inv(a)      %求逆
a3=repmat(a,5,2)    %5*2个a
a4=1:1:9                  %1开始,9结束(含9),步长为1的1*n矩阵
a5=ones(4,3)          %4*3的单位矩阵
b*b'         %矩阵乘法的基本运算
b.*b         %对应项相乘  
a.^ 2       %a的每个元素取乘方
a^ 2        %矩阵a*矩阵a,即矩阵a的乘方
b1=a(2,3)    %取a的(2,3)元素
b2=a(3,:)     %取a第3行所有元素  
b3=a(:,3)     %取a第3列所有元素
b4=a(:)        %取a第所有元素
[m,n]=find(a>5)    %找大于5的元素的索引值,(m,n)位置的元素大于5

%函数

%log(x)   e为底数
log(exp(1))    %e为底数,x为e
log10(10)      %10为底数
log(36)/log(6)   %利用loga(b)=ln(b)/ln(a)计算36为底数,6为x的对数
%disp()
disp('需要输出的字符串')
%input()
a= input('请输入a:')

%prod()     求向量or矩阵的乘积
B=prod(A)        % A是向量时,返回A向量所有元素的乘积
                         %A是矩阵时,返回每一列元素的乘积,组成一个行向量B
A =[8 1 6
       3 5 7
       4 9 2]
prod(A)       %返回每一列元素的乘积,组成一个行向量B
prod(A,1)    %返回每一列元素的乘积,组成一个行向量B,和prod(A)一样
prod(A,2)    %返回每一行元素的乘积,组成一个行向量B

A=[1 2 3]
prod(A)

%sum函数      向量、矩阵求和
a=[1,2,3]
sum(a)            %向量求和
b=[1,5;2,6;3,7]
sum(b)            %矩阵求和,对列
sum(b,1)         %矩阵行求和
sum(b,2)         %矩阵列求和
sum(sum(b))   %矩阵所有元素求和
sum(b(:))         %矩阵所有元素求和
b(:)                  %由第一列开始,列出所有元素

%inv函数    求逆
a=[1,2,3;4,5,6;7,8,9] 
inv(a)  %求逆

%eig函数(作用对象必须是方阵)求解特征值、特征根
a=[1,2,3;4,5,6;7,8,9] 
eig(a)                 %求特征值(求解时,a必须是方阵)
[V A]=eig(a)      %a的特征向量构成V的列向量,A为a的特征值构成的对角矩阵

%size函数    求矩阵的行数列数
size(a)          %返回a行数、列数
size(a,1)       %返回矩阵a的行数
size(a,2)       %返回矩阵a的列数

%find函数    找符合要求的元素的索引值(位置)
A=[1 0 
      4 2
      7 0 ]
[m,n]=find(A>5)      %找大于5的元素的索引值,(m,n)位置的元素大于5
find(A==7)              %返回7的位置(竖着数第几个)
find(A)                     %返回非0元素的位置
find(A,4)                  %返回前4个非0元素的位置
find(A,1,'last')          %返回最后一个非0元素的位置
[a,b,v] = find(A)       %a:非0元素所在的行,b:非0元素所在的行,v:非0元素

%randi()函数  随机生成整数,i代表int
randi([1,9],3,5)        %随机生成范围[1,9]的3*5矩阵
randi(10,2,5)           %随机生成范围[1,10]的2*5矩阵

%rand函数  随机生成范围[0,1]的,均匀分布的随机数
rand(4,5)           %随机生成4*5的矩阵,范围[0,1]
rand(3)             %随机生成3*3方阵
rand(5,1)*10     %随机产生范围[0,1]*10(即[0,10])的5*1矩阵

%normrnd()     产生正态分布的随机数
normrnd(0,2,3,4)        %随机生成均值为0,标准差为2的正态分布的随机矩阵,大小为3x4

%roundn()   四舍五入(0个位 1十位  2百位 -a小数点后a位)
a = 3.1415
roundn(a,-2) 

%pchip()函数  三次hermite插值函数
x=-pi:pi
y=sin(x)
new_x=-pi:0.1:pi
new_y=pchip(x,y,new_x)   %利用hermite插值法对插点new_x求插值new_y

%spline()函数  三次样条插值函数
x = -pi:pi 
y = sin(x)
new_x = -pi:0.1:pi
new_y = spline(x,y,new_x);  %三次样条插值

%corrcoef()函数  相关系数函数
%person相关系数
R=corrcoef(A)       
%返回A的相关系数矩阵,列表示随机变量(指标),行表示观测值(样本)
[R,P]=corrcofe(data)<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值