一、新建文件
matlab的退出:命令行输入exit/quit
1、新建脚本
2、在脚本输入
3、修改matlab文件目录
t=-2*pi:0.001:4*pi;
x=sin(t);
y=cos(t);
figure,plot(t,x);
FFT = fft(x);
figure,plot(t,FFT);
z=x+i*y;
figure,plot(abs(z));
std(x);//取x方差
生成随机矩阵运算
A = rand(10,10);//产生一个随机的10*10的矩阵
AA=A^2;//对矩阵平方(A*A)
AAA=A.^2;//对A立面每一个元素平方
norm(AA-AAA);//
步进:一步一步运行
断点:运行到某一行
布局:调整窗口位置
流程控制:
for k=1:10
m = m+1;
end //流程结束用end
if y==x
y1=3;
else
y2=4;
end
sqrt(5)//根号5
b='hello';//字符串用单引号,紫色
快捷指令
clear all; //清除所有工作区的数据
close all; //关闭所有画的图
clc; //清除命令行
方向键上:上查询历史输入过的相关命令
方向键下:下查询历史输入过的相关命令
mkdir('c:\','my_dir');//在c盘上创建目录my_dir
cd c:\my_dir //使c:\my_dir成为当前目录
save saf x y z //把xyz 变量保存为saf.mat文件
dir //显示当前目录下文件
clear x y z //清除工作区xyz变量
load saf //在工作区加载saf里面的数据
load saf z //只加载saf里面z变量
who //检查内存中有什么变量
每一行语句后面加上;号表示不显示改行运行结果,还可以区分行
多行注释,选中要注释的,按ctrl+R.
disp()://matlab里面的屏幕输出函数,类似c中printf();括号里面单双引号都可以
a=[1 2 3]; a=[1,2,3]//行向量
a=[1;2;3]//列向量,分号表示换行
strcat('字符串1','字符串2')//字符串拼接
('字符串1';'字符串2')//自动转换成2x4的字符串数组
num2str(data)//可以吧数字转换为字符串
strcat('c取值为',100)//字符串拼接,结果:c取值为d,100的字符串形式是d
A=input('请输入A:')//input作用就是把输入的值作为A的值,注意观察工作区
sum(E);//无论E是行向量还是列向量,都是直接全部元素求和
假如E是矩阵,求和就是列求和,得到一个行向量
E=[1,2,3;4,5,6],sum(E)//结果:6 15
sum(E,1);//第二位dim,默认dim=1,dim=1对列求和,dim=2对行求和
prod(E,2);//相乘是prod函数,2表示行各元素相乘
sum(sum(E))//对整个矩阵求和,默认先对行求和,然后再所有求和
E(3;2)//提取第三行第二列的元素
E(2,:)//取第二行所有元素,:就代表所有元素
E(2,;end)//取第二行到最后一行
1:10:100//1到100中间等差为10的数
E(2:2:5)//取2-5直接差为2的行,即2、4行
size(E);//返回矩阵E的行数、列数,返回的属于一个向量
[r,m]=size(E);//r=2,m=3
r=size(E,1);//返回E行数给r
m=size(E,2);//返回E列数给m
repmat(E,m,n);//将矩阵E复制mxn块,以E为基本单位
"*""/"分别表示matlab中矩阵乘法和除法,A/B=A*inv(B);
inv(B);//表示B的逆矩阵
A.*B;//A、B对应元素相乘
A.^2;//A矩阵每位平方
------------------------------------
A=[1,-2,3;-2,0,1;2,0,3]
E=eig(A);//求A全部特征值
[V,D]=eig(A);//V是A的特征向量,D是A的特征值构成的对角阵
find(A);//返回非0元素位置索引
find(A,2)//返回前两个不为0元素位置
A>0,返回一个逻辑矩阵
rand();//产生(0,1)之间的随机数
real(A);//求A实部
imag(A);//求A虚部
abs(A);//求A绝对值
angle(A);//求A幅角
作图:
t=0:pi/50:4*pi; %定义自变量t的取值(0-4π,单位间隔:π/50)
y=exp(-t/3).*sin(3*t); %计算与自变量相应的y数组。注意:乘法符前面的小黑点。
plot(t,y,'-r','LineWidth',2) 横坐标t,纵坐标y,-r:用红色实线,LineWidth:设置线宽2 %绘制曲线
axis([0,4*pi,-1,1]) %分别设置横纵坐标范围
xlabel('t'),ylabel('y') %x、y坐标轴名称
z1=4+3*i;z2=1+2*i; %在一个物理行中,允许输入多条指令。
%但各指令间要用“分号”或“逗号”分开。
%指令后采用“分号”,使运算结果不显示。
z12=z1+z2
plot([0,z1,z12],'-b','LineWidth',3)
plot([0,z12],'-r','LineWidth',3)
plot([z1,z12],'ob','MarkerSize',8)
axis([0,6,0,6])
text(3.5,2.3,'z1') %在(3.5,2.3)这个地方写一个z1
text(5,4.5,'z2')
text(2.5,3.5,'z12')
xlabel('real')
ylabel('image')
shg
syms u v w z %构建变量
Eq=u*z^2+v*z+w;
result_1=solve(Eq) %解方程 %
symstr(Eq,1) %给出前1个变量,假如未给变量,默认离x近的为变量
a=1;b=2;c=3;d=4;
Mn=[a,b;c,d]
Mc='[a,b;c,d]' //字符,长度为9
Ms=str2sym(Mc) //字符转换为符号
SizeMn=size(Mn) //计算Mn的大小
syms a b x X Y c y //定义符号变量
k=sym('3'); %符号常数
magic(4);产生四行四列魔方数组
A(2,4)取出数组二行四列的元素
A(8),以列为单位,取出第八个元素
A(:,[1,3])把数组里第一列第三列取出
diag(A)取出A对角元素形成列矩阵