遍历矩阵画图
通常采用MATLAB做数据分析,将导入的数据进行处理。而导入的数据形式为矩阵,采用size函数获取矩阵大小。
size(p,1); %查阅矩阵的行数 p为导入的数据
size(p,2); %矩阵的列数
1.1 创建矩阵
p1 = [-0.0039,0.0001,-0.0011,0.5123,0.0951,0.6136,0.0014,0.0012,-0.0067 ];
p2 = [1 2 3 4 5 6 7 3 3];
p = [p1;p2];
a = [];
m = size(p,2); %获取总列数,便于将矩阵整理成一维
1.2 遍历矩阵,合成一维形式
for i = 1:1:size(p,1) %先遍历矩阵的第一行,再遍历第二行,并输出
for j = 1:1:size(p,2)
% disp(p(i,j));
a(j+m*(i-1)) = p(i,j);
end
end
1.3 画图
由于title函数中不能包含变量,所以采用字符串拼接形式,设置循环标题。后期针对单个子图,采用总结(1)的方法可以修改图中样式。
|
|
读取Simulink数据
2.1 Simulink与MATLAB
之间通过workspace交互数据,具体步骤如下:
运行Simulink程序后,在工作区可以看到多了out的变量:
采用代码进行数据提取 |
|
2.2 画图
采用下面代码可以对数据进行复现
|
|
注释:此时采用总结(1)中的句柄获取的是其中的一个子图。
2.3 保存Simulink截图
方法(1):利用saveas函数进行保存
saveas(get_param('模型名字', 'Handle'), '保存图片名字', 'png')
% 保存在模型所在的路径下面
方法(2):打印功能
注:打印之前可以选择模型铺满,然后打印。 |
|
其它
三维图方面没有涉及。
%% Matlab的三维图与二维图之间的转换
view(2); %%默认的二维视角
view(3); %%默认的三维视角
view(AZ,EL);
view(0,90); %%在xoy平面的投影
view(90,0); %%在yoz平面的投影
view(0,0); %%在xoz平面的投影
关于MATLAB的机器人工具箱方面有所接触,有需要可以评论区留言,共同学习进步。
plot3d
%%属性
'path' : 包含stl模型文件的文件夹路径
'workspace' : 机器人三维工作空间的大小 xx.plot3d('workspace',w)
w = [xmn,xmx,ymn,ymx,zmn,zmx]
'view',v : 为侧视图指定视角
'tilesize' : 地板上方形瓷砖的边长(默认为0.2)
'tile1color',c : 偶数瓷砖的颜色[r g b](默认[0.5 1 0.5]浅绿色)
'tile2color'.c : 奇数瓷砖的颜色[r g b](默认[1 1 1]白色)
'alpha',A : 为所有的连接设置;0是透明的,1是不透明的,默认是1
'nowrist' : 启用手腕坐标框的显示
'delay',D : 动画帧间延迟
%%light
%使用光线方向为向量[-1 0 0]所定义方向(即沿x正轴从0起)的局部光源照亮曲面图peaks
surf(peaks,'FaceLighting','gouraud','FaceColor','interp',...'AmbientStrength',0.5);
light('Position',[-1 0 0],'Style','local')
%%patch函数
%创建一个或多个填充多边形
patch(X,Y,C); %X,Y作为填充多边形的每个顶点的坐标,C决定多边形的颜色
%注意,C的不同取法会出现不同的颜色效果
%C为字符串:'r \ g \ b \ c \m \ y \ w \ k\
%C为三元数组,RGB颜色
patch(X,Y,Z,C); %使用X Y Z创建多边形,C为颜色
patch('XData',X,'YData',Y)
patch('Faces',F,'Vertics',V); %创建多边形V为顶点值,F为要连接的顶点