matlab代码记录

由于matlab入门不久,好多命令容易忘记,所以记录一下

常用命令:

数据类型

matlab代码记录_第1张图片

三种括号

[ ]  中括号用来构建向量(Vectors)或者是矩阵(Matrices)  [11 12 13; 21 22 23] 是一个二乘三的矩阵. 分号(;)用来结束一行。

{ } 大括号,用于cell型的数组的分配或引用。比如 A(2,1) = {[1 2 3; 4 5 6]}, or A{2,2} = ('str')

( ) 小括号,用于引用数组的元素。如 X(3)就是X的第三个元素。 X([1 2 3])就是X的头三个元素。

结构体

https://blog.csdn.net/jxlijunhao/article/details/18048359

其他一些命令

matlab中要取一个矩阵的一部分命令:

a=zeros(5,5) 

b=a(3:5,4:5)%取a的(3-5行,4-5列) 

matlab中setdiff()函数作用:判断2个数组中不同元素

c = setdiff(A, B) 
返回在A中有,而B中没有的值,结果向量将以升序排序返回。在集合论中,c = A - B。A和B也可以是字符串细胞数组。
c = setdiff(A, B, 'rows')
当A和B是具有相同列数的矩阵时,返回A中有而B中没有的那些行。
 

点云参考

 calib_roi = [0, 15.0, -5, 5, -0.5, 5.0];
 frame_pc = pcread(frameName);
 roi_index = findPointsInROI(frame_pc, calib_roi);
 roi_pc = select(frame_pc, roi_index);
 projCloud3d = zeros(roi_pc.Count,3);
for i=1:roi_pc.Count
  projCloud3d(i,:)= (R*roi_pc.Location(i,:)'+t);
end
 roi_pc = pointCloud(projCloud3d);
 pointscolor=uint8(zeros(roi_pc.Count,3));
 pointscolor(:,1)=255;
 pointscolor(:,2)=0;
 pointscolor(:,3)=0;
 roi_pc.Color=pointscolor;
 pcshow(roi_pc,'MarkerSize', 20);
 axis([-10,10,0,10,0,10]);
 hold on;

作图参考:

%x=1810:10:1880;%x轴上的数据,第一个值代表数据开始,第二个值代表间隔,第三个值代表终止
x=1:1:4;
%   a1=mean(fx');
%  b1=mean(fy');
%  a2=var(D1');
%  b2=var(D2');
 plot(x,D1','-*b',x,D2','-or');
%plot(x,D1','-*b',x,D2','-or',x,D3','-xr',x,D4','-+k');
title("相机去畸变后的内参")
%  axis([0,12,1800,1920]) ; %确定x轴与y轴框图大小
%  set(gca,'XTick',[0:1:12]) %x轴范围0-12,间隔1
%  set(gca,'YTick',[1800:100:1920]) %y轴范围1800-1920,间隔100
%   xlabel('number')  %x轴坐标描述
%   ylabel('value') %y轴坐标描
 grid on;%grid
 set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1)
% hold off
legend( 'd1','d2');
%legend( 'D-value');
%grid minor
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %x=1810:10:1880;%x轴上的数据,第一个值代表数据开始,第二个值代表间隔,第三个值代表终止
% x=1:1:8;
% % dr=R1-R2;
% % dt=T1-T2;
% %  a1=mean(dt);
% % b1=mean(b);
% % a2=var(dt);
% % b2=var(b);
% hold on
% h1=plot(x,T1(:,1),'-*b');
% h1=plot(x,T1(:,2),'-*b');
% h1=plot(x,T1(:,3),'-*b');
% h2=plot(x,T2(:,1),'-or');
% h2=plot(x,T2(:,2),'-or');
% h2=plot(x,T2(:,3),'-or');
% % plot(x,a,'-*b',x,b,'-or',x,c,'-xr',x,d,'-+k');
% axis([0,9,5000,15000]) ; %确定x轴与y轴框图大小
% set(gca,'XTick',[0:1:9]) %x轴范围0-9,间隔1
% set(gca,'YTick',[5000:1000:12000]) %y轴范围5000-12000,间隔1000
% xlabel('number')  %x轴坐标描述
% ylabel('value') %y轴坐标描
% grid on;%grid
% set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1)
% hold off
% legend([h1,h2], 'T1','T2');
% %legend( 'D-value');
% %grid minor

 

你可能感兴趣的:(matlab)