matlab学习笔记

clear,clc   %% 清理    % 注释
clc清除命令窗口   
clear清除工作空间的内容
close all    %% 关闭所有的figure窗口
whos 列出当前工作空间中的变量及信息 who 
Ctrl+c:中断程序运行
Esc或者Ctrl+u:清除一行
ctrl+R,注释程序
ctrl+T,取消注释
ctrl+i 代码自动按照规则缩进(ctrl+all全选代码,然后在ctrl+i格式化代码)
help rand 获取函数的帮助信息	
randn(1,10)   产生1X10矩阵的服从正态分布随机数,有小数randn('state',2);		% 设置种子,便于重复执行
randn() 创建随机矩阵,服从正态分布 正态分布(Normal distribution)又名高斯分布(Gaussian distribution)
rand('seed',2)	% 设定随机数种子     rand(3,4)	% 3*4矩阵  产生(0,1)之间的随机数 
rand() 创建随机矩阵,服从均匀分布 产生(0,1)之间的随机数 
randperm() 创建随机行向量  randperm(10) 10个随机数向量randperm(6,3)  3个小于6的随机数
-5:.2:5       -5到5差值为2,等差数列


---------可视化-------------------------------------------------------------
hold on 表示保留原来的图 画了一幅图,再画另一幅图时,原来的图还在,与新图共存
hold off 在轴上绘制的是新图,原图被替换了,画图(figure)的时候,取消原来的图
plot(x,y);  画出X,Y的直线
plot(x,y,'o');    画出X,Y的点,以o表示点  '-o'线圈结合  o- *-  m-粉色 *-k bo蓝色的o r*红色的*
axis([-5,5,0,6])   坐标轴范围x(-5-5),y(0-6)  axis([0.5 1 -1 1])
subplot(2,1,1)    绘制两行一列的图像,选择第一个  subplot(1,2,1)  subplot(1,2,2)
xlabel('迭代次数');
ylabel('MSE');
title('均方差下降曲线');绘图标题
figure; 显示窗口
figure(1)显示新窗口1   figure(1);plot(t,y1)
figure(2)显示新窗口2   figure(2);plot(t,y2)
legend('原始数据点','最小二乘拟合直线');  对绘图多个plot按先后加上标题
clf; 用来清除图形的命令
------------结束------------------------------------------------------


tic 程序 toc   计算中间代码运行时间
fprintf('算法收敛于:\nw= (%f,%f),MSE: %f\n', w(1), w(2), ms(i));  控制台输出文字和参数
disp('my test')  disp(3)  test=3;disp(['my test=',num2str(test)])  输出
0.1>=0.5    满足输出1不满足输出0
repmat(A,m,n)功能是以A的内容堆叠在(MxN)repmat(M,v,h) 将矩阵 M 在垂直方向上聚合 v 次,在水平方向上聚合 h 次
B = reshape(A,m,n)返回一个m*n的矩阵B, B中元素是按列从A中得到的。如果A中元素个数没有m*n个, 则会引发错误
reshape(A,2,3)   向量转矩阵按列排序  reshape(a,4,5)'转置后按行排序
a(:)  a矩阵转换成向量
Y'            Y的转置
Y.^2         矩阵运算Y*Y不需要带点  矩阵里值的运算带点Y.^2
pinv(A)    矩阵的伪逆逆矩阵(奇异矩阵或者非方阵,并不存在逆矩阵)
inv(A)     矩阵为非奇异方阵,则存在逆矩阵inv(A)
P=[0,0,1,1;0,1,0,1]	构建了一个2x4矩阵  下标从1开始
ones(1,6)       将1排列成1行6列     ones( ) 创建一个所有元素都为 1 的矩阵,其中可以制定维数,1,2….个变量 
zeros() 创建一个所有元素都为 0 的矩阵zeros(2,3) 2x3的0矩阵
eye() 创建对角元素为 1,其他元素为 0 的矩阵 eye(3,3)
diag() 根据向量创建对角矩阵,即以向量的元素为对角元素diag([1,2,3])  对角线元素为1,2,3的对焦矩阵
magic(3)  生成3x3的魔方矩阵,横竖斜加起来等于一个数
minmax(x) x的最小值和最大值[1,10]
max(A,[],1) 矩阵每一列的最大值  max(A)默认矩阵每一列的最大值
max(A,[],2) 矩阵每一行的最大值  max(A(:))矩阵最大值
C=[A B]  两个mxn矩阵并列mx2n
C=[A;B]  两个mxn矩阵并列2mx2
SampIn=[0,0,1,1;...          %这里...方便换行显示数据,类似连接符
        0,1,0,1;...
        1,1,1,1]
concur([0; -1],3)		将一个向量重复3次
prod(a)  向量积 sum(a)和
ceil    ceil(1.2)=1 舍入函数。ceil的作用是向正方向舍入
fix floor round   向零舍入、朝负方向舍入、round是四舍五入函数
p([1,5,7],1)  选取矩阵下标为1,5,7行的第一列
vec2ind 向量变索引 把每列为1的行号记录 [1,2,1]意思是第一列第一行为1第二列第二行为1第三列第一行为1其余为0[1,0,1;0,1,0]  ind2vec索引变向量
full(ind2vec([1 3 2 3]))			% full()稀疏矩阵转换为普通矩阵
norm(A)   范数计算
1==2  假输出0
1~=2  1不等于2,真输出1
sqrt(9) 开平方
size(A)  A矩阵的维度mxn size(A,1) m求矩阵的行数  size(A,2) n求矩阵的列数
length(a) a向量的长度

---------文件读入写出---------------------------------------------------------------
STR=sprintf('%s%d','D:\\data2\\',k,'.mat');  拼接字符串
save(STR,'inf', 'rec', 'minf');  写出 save 文件名  不写地址默认当前目录save aa save('D:\\aa.mat')
load(STR,'inf', 'rec', 'minf');  读入load(地址,变量名)  load data.txt
dlmwrite('aas.txt', data, '\t') 将矩阵data保存到当前目录aas.txt 分隔符为\t“\t”表示tab分割,“,”为默认分割符
importdata('aas.txt',',')  将filename中的数据导入到工作区中,以delimiter指定的符号作为分隔符;
fopen+fprintf保存数据到文本
a=[1 2 3 4 5 6 7 8 9];
fid=fopen('b.txt','wt'); %打开文件  r读w写
fprintf(fid,'%g\n',a); %写出并且换行
fclose(fid);
------------结束---------------------------------------------------------------------
for i=1:10
	fprintf('数字%f\n',i);
	disp(i);
end
i=1
while i<=5
	i=i+1;
	fprintf('第%f次\n',i);
end	
if  1==1
   disp('1==1')
end   
归一化函数 mapminmax矩阵的每一行归一到[a b].默认为[-1 1]. 
[y,ps] = mapminmax(x,ymin,ymax)  对应关系PS temp= mapminmax('apply',260,PS) y= mapminmax(x,ymin,ymax)
x是你想要归一化的矩阵,ymin,ymax分别是你想要归一化的区间,
如你想要吧数据归一化到[0,1]之间,则ymin=0,ymax=1,默认是[-1,1],此函数归一化是按行进行的,
即选取一行中的最大值xmax和最小值xmin
按公式y = (ymax - ymin)*(x - xmin)/(xmax - xmin) + ymin;
计算得出一行中的各个归一化后的数据
把归一的数据还原时,可以用以下命令: yreal = mapminmax('reverse',y1,PS)
abs(-5)求绝对值
mod(a,b)就是求的是a除以b的余数  mod(17,6)  =5
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值