MATLAB
文章平均质量分 50
Kasen's experience
主要记录个人学习生活工作中的一些经验
展开
-
Maltab 输出矢量图 或 透明 PNG
MATLAB 仿真完,想把结果导出矢量图,放 latex 中写论文。参考 print 函数,可以输出 eps, svg, 等矢量图。或者指定 Fig 的 render 为 painters。指定 render 方式为 vector。原创 2024-01-31 01:26:27 · 1799 阅读 · 1 评论 -
把 matlab 公式输出成 latex 公式形式
latex 进行符号计算后,想直接把 matlab 中变量代表的公式结果输出成 latex 形式。这样可以直接 复制到 latex 中,不需要手打公式了。可以实现上述功能,但最好是 使用。原创 2024-01-29 16:41:45 · 1199 阅读 · 0 评论 -
Matlab 使用 DH table 建立的 robot 和实际不符
想借助 matlab robotics toolbox 来仿真机器人,但是直接输入自己的 DH table 显示出来的 robot 和实际不情况不符。由于固定忽略偏置,需要手动设置 home position,并在后续计算中,对 theta 角度手动加上这个偏置。检查 DH table 建立方法,常见有两种,参考下面两个作者的数。会默认忽略 旋转关节 theta 角度中的固定偏置,看帮助文档。采用 Siciliano方法,帮助手册有写。原创 2024-01-12 11:21:40 · 580 阅读 · 0 评论 -
subs 符号函数 在带入数值过程中提高计算速度的方法
机器人 transformation matrix 中,使用了符号变量,在对关键变量使用数值带入计算时耗时很长。是 transformation matrix,包含关节变量。原创 2024-01-08 12:19:55 · 524 阅读 · 0 评论 -
matlab subs 函数计算太慢
计算机器人 transformation matrix 相关内容时,对于关节角度进行离散,循环计算很慢,随着角度划分越来越细,怎么提高速度是一个问题。是 transformation matrix, 其中使用 符号类型。这个是由于两者计算精度不一样,具体原理没有搞清楚,详情参考。关节角度,直接把它转换成函数。注意查看函数变量顺序。, 可以看到结果不一样,不过都小于 10^-4.然后直接使用循环进行计算。原创 2024-01-08 12:07:54 · 844 阅读 · 0 评论 -
实验数据旋转角度处理过程中的常见问题
安装过程中,两个 EM tracker 不可能在同一条轴线 或者同一个平面运动,因此,前端 EM tracker 2 随机器人运动过程中,其轴线与末端固定的 EM Tracker 1 一直是空间角。另外空间角对时间的变化率在接近其最小值的时候会变化,这是为什么接近最小值时,明显有弧度拐弯的原因。由于机器人运动轴线是 x 轴,机器人实际在 YOZ 平面运动,因此讲 EM Tracker 2 的轴向向量投影到 EM tracker base frame 的 YOZ 平面在计算夹角。实验数据中存在的问题。原创 2023-10-24 21:40:01 · 216 阅读 · 0 评论 -
Matlab绘图 图例legend 太长,怎么减小指示线的长度
绘图时,稍微减小文字已经不能正常放下图例,想通过调整图例指示线段长度缩减整个图例长度。单独运行这段代码没问题,但是多个曲线时报错。原创 2023-08-08 21:19:44 · 4073 阅读 · 2 评论 -
Matlab 计算的结果有 6.1232e-17 怎么处理
怎么把matlab中三角函数导致的的 6.1232e-17 转换成0原创 2023-06-16 11:27:37 · 3160 阅读 · 1 评论 -
matlab 插入PNG 图片 透明背景
matlab插入图片 透明背景原创 2023-04-03 17:39:32 · 1565 阅读 · 0 评论 -
Matalb 存储 结构体 struct 仿真过程数据 到 .mat 文件
matlab中 使用save 函数保存结构体到.mat 文件原创 2023-02-28 14:52:25 · 1383 阅读 · 0 评论 -
Semilogx 不是对数坐标
matlab semilogx 绘图不是 对数坐标原创 2023-01-04 17:18:00 · 336 阅读 · 0 评论 -
实验数据处理
加热冷却温度实验,相同实验参数可能有一次或多次重复实验,一次实验中也可能有多次。如何分别每一次周期,并把每个周期的数据都分析出来,成为一个问题。原创 2022-11-23 21:57:57 · 787 阅读 · 0 评论 -
MATLAB 矩阵按不同行列排序
matlab 数组 结构体 元宝数据 表 排序原创 2022-11-23 21:50:37 · 479 阅读 · 0 评论 -
matlab所有峰值,局部最大
matlab 数据分段,matlab 划分不同实验数据区间 matlab 数据多峰值原创 2022-11-23 08:52:22 · 1137 阅读 · 0 评论 -
Matlab 如何获取子文件夹或子子文件夹目录名与目录下文件名 及其文件名判断
matlab 获取目录名,获取子文件夹,获取二级子文件名,获取文件名原创 2022-11-23 08:41:18 · 2523 阅读 · 0 评论 -
无穷大8字型曲线方程
来源做实验想追踪八字形曲线需要曲线方程方法参考Wikipedia Lemniscate of Bernoulli原创 2021-06-10 20:44:35 · 4660 阅读 · 0 评论 -
如何使用二维笛卡尔坐标计算与x轴在[0 2*pi]之间的角度
方法首先使用 atan2 或者 atan2d 计算角度的弧度表示或者角度表示然后参考下面代码进行转换function a = angle(x,y)len = length(x);for i = 1:len if atan2(y(i),x(i))>=0 a(i) = (180/pi) * atan2(y(i),x(i)); else a(i) = (180/pi) * (atan2(y(i原创 2021-06-10 19:33:18 · 421 阅读 · 0 评论 -
实验数据展示之箱式图boxplot和双y轴
来源读论文看到别人画的实验数据是一个一个盒子,而自己之前是用的是直方图或者条形图。有关条形图绘制参考:Matlab实验数据条形图 bar。方法:boxplot是用MATLAB的 boxplot 函数进行绘制,此处仅为个人经验总结方便后续查阅,详细参考matlab帮助。注意事项:boxplot 是对 矩阵的每一列 进行绘制的。如果想同时绘制多个箱子,需要把 boxplot(x,g) 的 x 参数按照列整理,参数 g 将是箱子的横坐标,当然可以是文字,详细看帮助手册。 参数 g 是行向量.箱式原创 2021-06-01 10:42:50 · 2937 阅读 · 0 评论 -
MATLAB主题设置配色方案
目录来源方案来源长期频繁使用MATLAB进行数值计算,对于其自带的脚本配色不满意。方案使用 MATLAB schemer中的 ‘darkmate’ 这个主题比较适合。此外自己再在 matlab preference中的Colors一栏再进行微调即可。配色方案文件已经上传到 MATLAB主题颜色配置Matlab_Themes.zip (见我上传的资源中心)...原创 2021-02-16 15:48:14 · 2196 阅读 · 2 评论 -
MATLAB导出矢量图结合Visio,PPT,或 Adobe illustrator处理图片
来源使用matlab完成绘图后,希望直接导出矢量图供写作,而不是PNG等位图。有些论文对图的数量还有限制,有时需要将多个图进行合并。虽然可以直接使用matlab,latex等进行合并,但感觉这两种方法比较麻烦。我更偏向于matlab导出矢量图,放到Visio进行合并和处理,在导出矢量图,使用latex进行写作(只支持eps和PDF格式矢量图)。matlab导出矢量图使用 print 函数或者 saveas 函数, 设置相应导出的矢量图格式,详见matlab参考文档。print(Fig1, '原创 2020-12-12 22:01:18 · 6151 阅读 · 1 评论 -
Matlab论文绘图配色
目录来源总体方针颜色推荐来源使用matlab进行数据绘图,经常使用不同颜色表示不同曲线,但是帮助文档中的有写曲线颜色打印出来并不是很明显,此处整理我自己使用的颜色。总体方针在网上搜索 “RGB颜色表” ,然后挑选适合的颜色。此处推荐一个我自己经常使用的网站:华艺美术制作。颜色推荐绿色一: #008B00...原创 2020-09-29 20:32:53 · 21123 阅读 · 0 评论 -
MATLAB三维着色曲面surf及如何使用三维点集绘制三维曲面
目录来源方法surf函数实例二维数据解决方案其他方案常见错误surf报错生成的图形是黑色生成曲面光滑参考资料来源写论文,从二维变三维空间,对三维工作空间分析,希望创建漂亮的工作空间示意图。二维区域着色已经在之前博文提到过了:Matlab不规则区域渐变色填充及注意事项。这里主要讲三维曲面着色。方法实现绘制曲面的函数有不少,典型如下函数含义mesh、surf曲面图meshc、surfc下方带有等高线图的曲面图meshz带帷幕图(参考平面)的曲面图pcolor原创 2020-09-16 11:07:59 · 13107 阅读 · 0 评论 -
Matlab不规则区域渐变色填充及注意事项
来源机器人工作空间着色,实现形象的展示。matlab实现方法这里介绍两个实现着色的函数,patch, fill。这两个函数具体使用方法查看帮助。 我使用的是patch。官方帮助文档上有一个示例如下x = [2 5; 2 5; 8 8];y = [4 0; 8 2; 4 0];c = [0; 1];figurepatch(x,y,c)我这里主要关注渐变色填充,也就是上面的c矩阵。他官方示例中只有几个点,看起来不明显,可以把要着色区域划分密集些。下面是我自己的例子。Z = [ tr原创 2020-08-04 15:04:02 · 8673 阅读 · 3 评论 -
matlab如何旋转图例
来源写论文时,由于图形位置占满了,想把图例旋转90°,使图形更紧凑。matlab图例拆分成两个多个分别显示已经解决了图例一分为二的方法,这里专注于图例旋转。鸣谢感谢 Sai Sri Pathuri 解决 我在matlab论坛的问题提出。如下代码是 Sai Sri Pathuri 提供,并非 并非 并非 我原创。% create a sample ploth1 = plot(1:5);% add legend to the graph[legend_handle, icons] = lege翻译 2020-07-11 09:22:22 · 1922 阅读 · 0 评论 -
MATLAB图形调整边框大小subplot调整空白区域大小
来源处理实验数据,由于很多个小类别,全部用个subplot绘制出来,发现两边的空白太多,想把两边空白删除。直接上图处理签和处理后的结果, 实验结果被我用hold off 取消掉了,不影响此处说明。 左上角的数字编号见我另一篇博文,Matlab使用subplot绘制子图时编号(a)(b)©(d) 。 这里由于超过26个字母改位数字了。https://blog.csdn.net/jh1513/article/details/105660861解决方法首先明确我们是可以调整matlab图形的具体位置原创 2020-06-10 17:05:25 · 14067 阅读 · 5 评论 -
matlab图例拆分成两个多个分别显示
来源作图标注图例时,图例过大,和图形成重合,但是又不能把图片变大,想把图例整体旋转90度竖着放,但是没有实现,不得已把图例拆分成两个,分别放在图形不同区域。方法代码核心思想时在原来图片位置重新创建一个一模一样的坐标系,然后在新坐标轴上绘制第二个图例,并且把第二个坐标系不显示,从而实现看起来两个图例一样。代码:close allclearclcfigurehold online1 = plot(rand(1,10));line2 = plot(rand(1,10));line3 =原创 2020-06-03 17:30:27 · 8293 阅读 · 0 评论 -
长公式处理方法
超长公式怎么处理,latex文本公式的处理,TexMake怎么使用原创 2016-12-27 22:21:02 · 3291 阅读 · 0 评论 -
matlab把数据转字符串文本
来源处理实验数据,绘图,写论文中要把实验数据处理完并标注在图上实数转字符串num2str这个函数可以把数据直接转字符串,一般挺实用。但还要关注字符串长度时就有点麻烦,但还可以用num2str(round(tiltAng(i),1))使用 round 函数先把数据保留到指定小数位,在转格式。 问题: 像上面保留到小数点后一位,但是如果恰好小数点后第一位为0,这个时候转的字符串就把这个0丢掉了,所以还是有问题sprintf这个函数在matlab中我基本没用过,还是C和C++时用过,这次才知道原创 2020-05-20 21:08:22 · 2964 阅读 · 2 评论 -
Matlab实验数据条形图 bar
来源近期处理实验数据,采集一些离散点,想按自变量分组, 对数据进行分析,即绘制直方图直方图绘制方法histogram(X)具体详情查matlab帮助文档x = randn(10000,1);h = histogram(x)bar(y)我看中了用 bar 函数绘制直方图, 具体函数使用方法,参考帮助文档,此处讨论直方图的控制目标,实现改x坐标实际是设置Axes属性,查帮助,设置XTickLabel 。ax = gca;ax.XTick = 1: 5;ax.XTickLabel原创 2020-05-20 18:11:01 · 3459 阅读 · 0 评论 -
matlab如何设置横中坐标轴刻度字体大小
来源matlab绘图后,放到文档中一缩放,坐标轴刻度变的特别小看不清。 那么怎么调大坐标轴刻度字体大小呢?解决方法提供一种我找到的方法:在绘图开始使用set(gca,'FontSize',12,'FontName','Arial');把字体调大,这个命令会把 xlabel, ylabel,title 等都调大。这就是为什么我要开始就设置的,反正现在还没设置标题等其他文字,到时候在单独设置标题,横纵坐标,图例等字体字号...原创 2020-05-16 11:59:13 · 22480 阅读 · 4 评论 -
matlab处理常见实验数据之中值滤波与均值滤波 medfilt1 smooth
来源在处理实验数据中,由于实验不稳定,或者人为扰动,触碰试验台等, 对实验数据产生一定干扰。 后续实验数据分析时希望对扰动数据进行处理。**注意:**这里不涉及图像相关的滤波.均值滤波 smooth简单理解就是从这个数开始,两边邻近的几个数一起计算均值赋值给这个位置的数据, 默认总共取5个数据,前面两个后面两个,matlab定义yy = smooth(y,span), %默认span ...原创 2020-04-23 17:09:27 · 9451 阅读 · 0 评论 -
Matlab使用subplot绘制子图时编号(a)(b)(c)(d)
问题来源绘制实验数据是,想像部分论文一样直接对子图进行编号,这样就不用把每个图分开,然后用word或者latex进行编号实现方法1 matlab中subplot子图使用title函数title('(a)','position',[-4,38],'FontSize',16);指定title的位置即可2 使用xlabel函数直接使用xlabel函数 对子图进行编号3 使用tex...原创 2020-04-21 16:40:27 · 26651 阅读 · 0 评论 -
Matlab 线性拟合 polyfit 结果不准/偏差很大
polyfit 结果不准由于我的数据来源于实验,太大没法放在这里,直接放代码和图展示问题,记此笔记方便后续翻阅[T30H_Lin, F30H_Lin] = SelectFitData(0.65,2.9,F30H, T30H);[p,S,mu] = polyfit(T30H_Lin,F30H_Lin,1); % 函数调用方式与下面有区别T30H_Lin_Fit = T30H_Lin(1):...原创 2020-03-19 16:58:11 · 6218 阅读 · 1 评论 -
matlab 取消图片标题加粗 title函数
取消matlab图片标题加粗在准备论文素材时,使用matlab的title()函数添加标题发现是加粗字体,但是希望不使用加粗形式方法第一句是默认,是加粗的标题,第二句设置**‘FontWeight’,‘Normal’**,将标题改为不加粗形式title('Changing diameters', 'FontName', 'Arial', 'FontSize', 16)title('Cha...原创 2020-02-18 20:06:31 · 5665 阅读 · 0 评论 -
matlab 保存图片并设置图片分辨率
问题在使用matlab脚本进行绘图后希望使用函数保存图片,并设置分辨率,为后续修改提供方便方法1.saveas 函数saveas(Fig, 'SMAWireASpringBack','png')获取图片句柄,设置图片名称,图片类型,这里没设置路径,详细参考matlab自带帮助 很简单的2. print 函数print(Fig,'SMAWireASpringBack','-dpng'...原创 2020-02-18 18:21:05 · 42026 阅读 · 9 评论 -
多变量微分方程组带事件控制的ODE45函数写法
1.来源在CUHK学习advanced robotics时做hopping robot仿真时多次使用自己的判断条件终止ODE45方程组,遂整理在此2.ODE45函数调用[t,x,te,xe,ie] = ode45(@(t,x) myStanceODEFct(t,x,modelPara,Tau(t,x)), t_span, x0, option);[t,y,te,ye,ie] = ode...原创 2019-12-27 15:43:32 · 8667 阅读 · 2 评论 -
matlab拼接数组/数组连接/末尾添加数组/append
主要是想使用类似C++ 中append 在末尾添加数据,但是matlab中append是对字符串进行操作,不是对数组进行操作,如下是我是实现方法一维数组拼接二维数组拼接如果想把一个多维数组某一列拼接起来,像上面直接对某一列赋值可能会出现问题,但是可以给被复制变量给定数据赋值的范围(坐标区间)...原创 2019-12-27 14:51:43 · 35805 阅读 · 1 评论 -
matlab 动态绘图设置单个坐标轴范围不变
1 matlab设置坐标轴范围1.xlim()和ylim()函数设置2.axis()函数同时设置两个坐标轴范围3.axis manual 等参数控制坐标轴2 遇到问题由于我需要在一个循环里面绘图,不停刷新数据形成动画,上述函数都不能达到效果,最后采用set(gca,‘YLim’,[-0.05 1]);达到想要效果动态绘图代码如下for i=1:250:length(result(...原创 2019-12-27 14:35:50 · 4845 阅读 · 4 评论 -
matlab 数值矩阵转latex文本
解决问题,数值矩阵转换成latex直接输入Word中的MathType或者latex文本编辑器,matlab没有数值矩阵转latex,如果丝符号矩阵可以使用latex直接输出,但计算中有些结果时使用double将符号矩阵转换成数值作为输出,此时写报告要数值的,没法直接复制,故网上 寻找可用代码,下面代码摘抄于https://frenselx.wordpress.com/2006/08/07/%e6...转载 2019-10-18 09:57:04 · 1977 阅读 · 0 评论 -
MATLAB中求最大/最小值max/min函数
求矩阵的最大值和最小值转载 2017-04-18 14:33:36 · 83540 阅读 · 0 评论