1. matlab简介
matlab是矩阵实验室,数据是以矩阵的形式存在。
2.基本操作
1).直接在命令行输入指令
2).在脚本文件章编写程序后运行
脚本文件:存放代码的文件,尾缀:.m
实时脚本文件界面方便,将结果实时显示在代码旁边(可以加代码,图片,类似于一个文档编辑器,很推荐使用)
3).在函数文件中编写程序,再在脚本文件中调用
函数文件相当于做好一个工具,以后需要的时候可以直接调用,尾缀也是.m
有固定的格式:如function[sigma, theta, x, y, final, res] = Simple(f, a, b, index)
4).符号
注释:%+注释内容
分号:在行末尾加分号,会执行计算但是不会在命令行窗口显示输出
命令行输入:clc(清空命令行)、clear(清空工作区)
3.string变量和char变量
在2017a及以后的版本可以使用双引号。
得到的是一个string变量,但是char得到的是多个char变量
string类型可以直接用+进行添加
char类型需要以一下格式进行添加
s1='abcde'
s2=[s1,'12345']
4.简单矩阵运算
plot函数作图,索引为横坐标
grid on :添加网格线
多维矩阵:同一行元素用空格或逗号进行划分,用分号来分隔多行
常见矩阵运算:转置、取逆、求特征值和特征向量
求转置: B = A' 求特征值和特征向量: [D, V] = eig(A) 其中D存的是特征向量,V存的是每个特征向量的特征值 求逆矩阵: E = inv(A) 验证是否为逆矩阵: F = A * E 如果F是单位矩阵就正确了
矩阵乘法:
C = A * B
矩阵点乘:
E = A.*B (就是对应位置的数相乘)
求解方程 A*x=b:
x=A\b (表示A的逆矩阵乘b,谁在斜杠下面的位置就是需要取逆的矩阵,A/b则A乘b的逆矩阵)
验证方法:s = A*x+b (如果s是个零矩阵说明正确)
一个数是标量,另一个数不是标量,则matlab会将该标量隐式扩展为与另外一个操作数具有相同大小
H =[1 1 1; 2 2 2; 3 3 3] K = 4 L = K*H %运算时K变成3x3矩阵,对角线元素为4 M= K+H %运算时K变成3x3的矩阵,每个元素为4
不同维度的行向量和列向量相加(N会变成3行的且每一行都和第一行相同,P会变成5列的每一列和第一列相同)最好不要这样子写
N = [1 2 3 4] P = [5;6;7] Q = N+P
5.图
5.1线图
plot函数创建xy值的简单线图
x = 0:0.05:30 % 起点 : 步长 : 终点 y = sin(x); plot(x,y) xlabel("横轴标题") ylabel("纵轴标题") % grid on %显示网络 % axis([0 20 -1.5 1.5]) % 设置横纵轴范围横轴:0~20 纵轴:-1.5~1.5
多组函数显示在同一张图中
y1 = sin(x); y2 = cos(x); plot(x,y1,x,y2) %(x,y1,x,y2,'LineWidth',1)可以变粗 axis([0 20 -1.5 1.5])
5.2条形图
bar函数创建垂直条形图
barh函数用来创建水平条形图
t = -3:0.5:3; p = exp(-t.*t); %相当于是e的-t^2 bar(t,p) barh(t,p)
5.3极坐标图
polarplot绘制极坐标图
theta = 0:0.01:2*pi; % abs为绝对值 radi = abs(sin(7*theta).*cos(10*theta)); polarplot(theta,radi) %分别为弧度和半径
5.4散点图
scatter函数绘制xy值的散点图
Height = randn(1000,1); %1000行1列 Weight = randn(1000,1); scatter(Height,Weight) xlabel('Height') ylabel('Weight')
6.三维图
6.1三维曲面图
surf函数可用来做三维曲面图,一般是展示z=z(x,y)的图像
需要先用meshgrid创建空间(x,y)的点
[X,Y] = meshgrid(-2:0.2:2); Z = X.*exp(-X.^2-Y.^2); surf(X,Y,Z)
6.2子图
使用subplot函数可以在同一窗口的不同子区域显示多个绘图
theta = 0:0.01:2*pi; radi = abs(sin(2*theta).*cos(2*theta)) Height = randn(1000,1) Weight = randn(1000,1) %subplot(2,2,1):两行两列中的第一个图 subplot(2,2,1) ;surf(X.^2); title('1st'); subplot(2,2,2);surf(Y.^3);title('2nd') subplot(2,2,3);polarplot(theta,radi);title('3rd') subplot(2,2,4);scatter(Height,Weight);title('4th')
标签:subplot,1.5,函数,矩阵,stringchar,matlab,基本操作,theta From: https://www.cnblogs.com/hmy22466/p/17364069.html