最近数值计算用到了matlab做计算。之前没有接触过,不怎么会用,记录下常用语法吧。
基本语法
i~=j %逻辑判断i、j不相等,与其他编程语言中的 i!=j 表示一个意思
for i=0:9 ... end % for迭代循环0~9,相当于 for(i=0;i < 9;i++)
基本矩阵
eye(2,2) %生成2*2的全1的矩阵 [1 1; 1 1; 1 1]
zeros(2,2) %生成2*2全0矩阵 [0 0; 0 0]
ones(2,3) %生成2*3矩阵,对角线上全1 [1 0 0;0 1 0]
tril(A) %对A取下三角矩阵
triu(A) %对A取上三角矩阵
A' %对A进行求转置矩阵
norm(A) %对A求范数。norm(A,1)一阶范数; norm(A, inf) 无穷阶范数
flipud(A) %对A上下颠倒
fliplr(A) %对A左右颠倒
vander(v) %利用向量v,生成Vandermonde矩阵
常用分解
[L,U,P]=lu(A) %对A进行LU分解,将下三角矩阵保存到L,U为上三角,P为矩阵的变化
chol(A) %对A进行Cholesky分解
快捷键
Ctrl + I %格式化代码
Ctrl + R %注释选中代码
Ctrl + T %取消选中代码注释
画图
x=2:0.05:2; %x自变量区间[2,2] 每隔0.05生成一个点的横向量,因此该向量有400个分量
linspace(a,b,n); %在[a,b]之间生成线性的n个点的横向量,如果没有n,则默认100个点线性横向量
y=power(x,2); %定义y的函数形式 为y=x^2;
plot(x,y,'-O') %画图,每个点用O画出来
plot(x,y,'-') %画图,每个点用线直线画出来,与没有'-'该参数是一样的
hold on;%将图先保存,如果后面有继续图,和下面的图显示在一张图中,即共用一个坐标系
legend('曲线一','曲线二'); %对每个曲线做说明
title '图标题'; %对图添加标题
其他资源