由于matlab入门不久,好多命令容易忘记,所以记录一下
常用命令:
数据类型
三种括号
[ ] 中括号用来构建向量(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