Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >5000个matlab常见问题锦集的雄关路(001)

5000个matlab常见问题锦集的雄关路(001)

作者头像
巴山学长
发布于 2019-12-26 10:54:54
发布于 2019-12-26 10:54:54
4.8K10
代码可运行
举报
文章被收录于专栏:巴山学长巴山学长
运行总次数:0
代码可运行
为了方便各位小伙伴快速了解matlab编程中常遇问题,公众号特地推出matlab问题锦集系列,力争收集5000个常见matlab编程问题,每期推送10至30个不等的问题及解答方案,希望对大家的matlab学习有帮助。

若无特殊说明,所推送问答均来自于MATLAB AnswersStack Overflowmatlab中文论坛matlab中国论坛matlab技术论坛小木虫CSDN以及百度贴吧等不再作专门的参考资料来源声明

现在就开5000个matlab问题收集的第一步,本期推送12个问题!


1、如何修改 MATLAB 启动时的工作路径?

至少有以下三种方法:

1.MATLAB 主页->预设->常规,右侧可以设置启动时的工作路径。

2.建立 startup.m 文件,在文件中写入命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd C:\matlab_startup

并将文件放到 MATLAB 的搜索路径(path)下,一般会选择MATLAB安装路径\toolbox\local

3.这个方法仅对 Windows 操作系统,且通过双击快捷方式启动 MATLAB有效。右键快捷方式,选择属性,并在 Start in 中设置启动时的工作路径。

需要注意的是,上述三种方法互有冲突,因此仅建议通过一种方式进行设置。

2、如何在新版本的 MATLAB 中绘制多边形?

在旧版本中,一般用 impoly 函数绘制多边形,在新版本(R2018b之后)中可以用 drawpolygon

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
roi = drawpolygon('Color','r');

3、如何改变坐标轴刻度线与文字的颜色?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plot(1:10, rand(1,10),'ko-');
ax = gca;
set(ax,'XColor','b');
ax.XTickLabel = arrayfun(@(ii) ['\color{red}', ax.XTickLabel{ii}], [1:1:length(ax.XTickLabel)], 'UniformOutput',false);

4、如何用plot在绘制图形的同时添加小三角、矩形、菱形等标志?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
标记符    点形
+          加号
o          圆圈
*          星号
.          实心点
x         叉号
s         正方形
d         钻石形
^         上三角形
v         下三角形
>        右三角形
<        左三角形
p        五角星形
h        六角星形

5、MATLAB 中如何控制坐标轴刻度线标签、范围和坐标轴刻度线位置?

可以使用 xlim、ylim 和 zlim 函数控制轴范围。对这些函数的传参数形式为:[最小值,最大值]。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x = linspace(0,2*pi); 
y = sin(x); 
plot(x,y); 
xlim([0 2*pi]) 
ylim([-1.5 1.5])

可以使用 xticks、yticks 和 zticks 函数控制刻度线沿轴的位置。将刻度线位置指定为单调递增的矢量。这些值不需要均匀分布。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xticks([0 pi 2*pi]) 
yticks([-1 0 1])

若要控制与每个刻度线关联的标签,请使用 xticklabels、yticklabels 和 zticklabels 函数。使用字符向量的元胞数组指定标签。如果不希望显示刻度标签,请指定空元胞数组{}。若要在标签中包含特殊字符或希腊字母,请使用 Tex 标记,如 \pi。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xticklabels({'0','\pi','2\pi'}) 
yticklabels({'min','y = 0','max'})

6、请问一下,如何找到一个数组中最大值所处的位置呢?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
A=magic(3);
value=max(A(:));
[row col]=find(value==A);

7、在MATLAB中,如何计算两个矢量之间的夹角?

可以使用 cross 函数计算两个矢量的外积(即叉乘或向量积),使用 dot 函数计算内积(即点乘),然后使用 atan2d 函数计算正切值。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
u = [1 2 0];
v = [1 0 0];
ThetaInDegrees = atan2d(norm(cross(u,v)),dot(u,v));

还可以将使用夹角的余弦值进行计算,这在夹角较小时计算可能有误差。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
u = [1 2 0];
v = [1 0 0];
CosTheta = dot(u,v)/(norm(u)*norm(v));
ThetaInDegrees = acosd(CosTheta);

8、MATLAB 为什么报错“未定义函数或变量” ?

MATLAB 不将指定的字符串识别为 MATLAB 路径上的函数的名称或变量。可能的原因包括:

1)键入函数或变量名时的拼写错误(例如,当您要键入小写字母 l 时键入了数字1)。同时,MATLAB 的新版本提供“是不是想输入:”来解决这些拼写错误。

2)函数或变量名的错误大小写。同时,MATLAB 的新版本提供“是不是想输入:”来解决这些拼写错误。

3)改变了路径,使得被调用的函数不在 MATLAB 路径下。

4)使用未获得许可的功能或未安装的工具箱。

5)调用对象的方法,而没有指明对象名,仅给出了方法名。

6)调用在其他操作系统平台编译的 MEX 函数。

解决方法:

验证未定义的函数或变量是否可见(位于路径或当前工作区中),以及它是否在执行此代码行之前已经定义。

如果确定变量或函数存在,请验证函数或变量名的大小写。如果未定义的标识符是一个函数,则 which函数可以帮助您验证它对发生错误的函数是否可见。如果您的 MATLAB 搜索路径有问题,请运行以下 MATLAB 命令, 然后重新启动 MATLAB。

9、MATLAB 中,如何在一组子图上插入标题?

在 MATLAB R2018b 中,可以通过 sgtitle 函数实现。参考: https://www.mathworks.cn/help/releases/R2018b/matlab/ref/sgtitle.html

对于早期版本,请查看 File Exchange 上的函数: https://www.mathworks.cn/matlabcentral/fileexchange/3218-mtit-a-pedestrian-major-title-creator

10、MATLAB 如何绘制具有给定半径和中心坐标的圆?

以下是用来实现该功能的 MATLAB 函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function h = circle(x,y,r) 
hold on 
th = 0:pi/50:2*pi; 
xunit = r * cos(th) + x; 
yunit = r * sin(th) + y; 
h = plot(xunit, yunit); 
hold off

另一种方法是使用 rectangle 函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function h = circle2(x,y,r) 
d = r*2; 
px = x-r; 
py = y-r; 
h = rectangle('Position',[px py d d],'Curvature',[1,1]); 
daspect([1,1,1])

如果使用 MATLAB R2012a 或者之后版本的 Image Processing Toolbox,可以用 viscircles 函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
viscircles(centers,radii)

11、如何从 MATLAB 图形中提取数据?

如果图形存储在文件中,如 example.fig,则使用 openfig 函数打开图形文件。将 Figure 对象分配给变量fig。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fig = openfig('example.fig');

如果图片已经打开,使用 gcf 函数获取 Figure 对象的属性并分配给 fig。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fig = gcf;

可以使用 Children 属性, 也可以使用 findobj 函数访问绘制的图形对象的数据。

通过 Children 属性访问绘制的图形对象。Axes 对象是 Figure 的子对象。数据等通常是 Axes 的子对象。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
axObjs = fig.Children 
dataObjs = axObjs.Children

出现在命令窗口中的 dataObjs 数组包含数据信息。不同的图形对象以不同的方式存储数据。例如,Line对象将数据存储在 XData、YData 和 ZData 中。如果 dataObjs 中的第一个元素是 Line 对象, 则使用此代码访问其数据。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x = dataObjs(1).XData 
y = dataObjs(1).YData 
z = dataObjs(1).ZData

12、在MATLAB的plot中,如何添加两行的标题和坐标注释?

通过 cell(元胞数组)来添加多行文本。请参考:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plot(1:10)
title({'First line';'Second line'})
xlabel({'First line';'Second line'})

以上就是今天的全部内容,欢迎各位小伙伴将自己平时matlab编程遇到的问题以及解决方法推荐给小编,或者在推文下方留言,让大家一起学习,共同进步!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 巴山学长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
请问什么时候更新第三期呢
请问什么时候更新第三期呢
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
Matlab中的画图函数
之前在进行Matlab编程时,画图总是非常重要的一部分,在这里整理一下常用的绘图函数,以作备用。
全栈程序员站长
2022/11/06
3.4K0
Matlab中的画图函数
python数据可视化系列教程——matplotlib绘图全解
matplotlib是受MATLAB的启发构建的。MATLAB是数据绘图领域广泛使用的语言和工具。MATLAB语言是面向过程的。利用函数的调用,MATLAB中可以轻松的利用一行命令来绘制直线,然后再用一系列的函数调整结果。
全栈程序员站长
2022/07/02
3.2K0
python数据可视化系列教程——matplotlib绘图全解
Matlab画图常用的线条符号、颜色
4 、若要同时改变颜色及图线型态(Line style),也是在坐标对后面加上相关字串即可
全栈程序员站长
2022/07/01
2.8K0
数据分析 ——数据可视化matplotlib(一)
在接下来的文章中主要介绍如何利用python 中的matplotlib进行数据的可视化展示。
andrew_a
2019/09/09
1.8K0
数据分析 ——数据可视化matplotlib(一)
matlab中plot函数的功能及用法_plot绘制什么图
本文转自http://blog.sina.com.cn/s/blog_d8f783c90102woqb.html
全栈程序员站长
2022/11/03
3.3K0
matlab中plot函数的功能及用法_plot绘制什么图
MATLAB中画折线图:plot函数的简单用法
关于MATLAB里柱状图的画法,以及如何在图例legend和轴标签xlabel里加入latex公式,请参考 https://blog.csdn.net/u014261408/article/details/102511989。
全栈程序员站长
2022/09/06
1.2K0
MATLAB中画折线图:plot函数的简单用法
数学建模之MATLAB画图汇总
1.plot()函数 plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。 例:
全栈程序员站长
2022/07/21
2.9K0
数学建模之MATLAB画图汇总
Matlab画图-非常具体,非常全面
强大的画图功能是Matlab的特点之中的一个,Matlab提供了一系列的画图函数,用户不须要过多的考虑画图的细节,仅仅须要给出一些基本參数就能得到所需图形,这类函数称为高层画图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层画图操作。这类操作将图形的每一个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每一个对象分配一个句柄,能够通过句柄对该图形元素进行操作,而不影响其它部分。
全栈程序员站长
2021/11/18
2.1K0
1.基础知识(3) --Matlab绘制特殊的图形
自定义沿坐标轴的刻度值和标签有助于突出显示数据的特定方面。以下示例说明一些常见的自定义,例如修改刻度值的放置位置、更改刻度标签的文本和格式,以及旋转刻度标签。
用户9925864
2022/07/27
3.5K0
1.基础知识(3) --Matlab绘制特殊的图形
Matlab绘图(一二三维)
强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。
全栈程序员站长
2022/07/15
2.2K0
Matlab系列之绘图基础
介绍下本篇文章将要介绍的东西吧,之所以把本篇称为图形基础,是因为本篇的内容更多的是对图形句柄、图形对象等等之类的相关知识进行说明,对于图形的绘制会在之后的篇章中再详细弄下,比如二维的图怎么画,三维的又该如何绘制;虽然本篇内容趋于基础性的知识,但这也只是相对于之后的图形绘制,是基础的东西。实际上,对于很多没有仔细学过MATLAB的人来说,对本篇将记录的内容其实都不曾注意,甚至不曾耳闻,所以本篇的重要性也是显然的,慢慢看吧~
狂人V
2021/01/22
1.3K0
matlab plot图像_可以画函数图像的app
线型、标记和颜色,指定为包含符号的字符向量或字符串。符号可以按任意顺序显示。您不需要同时指定所有三个特征(线型、标记和颜色)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。
全栈程序员站长
2022/11/04
1.5K0
matlab plot图像_可以画函数图像的app
Matplotlib基础全攻略
Matplotlib是Python中最流行的绘图库,它模仿MATLAB中的绘图风格,提供了一整套与MATLAB相似的绘图API,通过API,我们可以轻松地绘制出高质量的图形。 中国银行股票数据下载: 链接:http://pan.baidu.com/s/1gfxRFbH 密码:d3id 1、开场例子 我们以中国银行股票收盘价曲线作为例子来作为开场。 首先我们通过pandas导入数据,并提取出收盘价一列: ChinaBank = pd.read_csv('data/ChinaBank.csv',index_co
石晓文
2018/04/11
1.9K0
Matplotlib基础全攻略
10分钟入门Matplotlib: 数据可视化介绍&使用教程
“一张图胜过千言万语”,对于数据来说同样地,“一张可视化的图片胜过一张复杂的数据表格或报告”。
deephub
2020/05/09
1.8K0
10分钟入门Matplotlib: 数据可视化介绍&使用教程
Matlab绘图方法整理(超完整版)
二维图像是我们在学习过程中经常会接触到的图像,比如在做数学题目时随手画出的一个正弦曲线,这个图像往往是我们根据它的函数做出来的,事实确是这样,在我们学习过程中画出来的每一个图像几乎都是函数,反过来说,每一个函数都对应着它自己的图像,我们能画出来的二维图像往往是一个一元函数即二元方程,在Matlab中做二维图像也是这样,我们根据一个函数来画出它的图像,不过要注意的一点是,在Matlab画图的过程中,它并不认识你给出的那个函数,它要做的仅仅是把你给出的函数上的点连成线而已。
全栈程序员站长
2022/09/07
2.5K0
Matlab绘图方法整理(超完整版)
matlab语法 axis on,matlab axis
axisoff;%去掉坐标轴axistight;%紧坐标轴axisequal;%等比坐标轴axis([-0.1, 8.1, -1.1, 1.1]);%坐标轴的显示范围% gca: gca, h=figure(…);
全栈程序员站长
2022/07/01
2.1K0
matlab plotyy 坐标轴设置,[转载]Matlab plotyy画双纵坐标图实例[通俗易懂]
legend([H1,H2],{‘y1 = 200*exp(-0.05*x).*sin(x)’;’y2 =
全栈程序员站长
2022/06/28
1.2K0
5000个matlab常见问题锦集的雄关路(002)
若无特殊说明,所推送问答均来自于MATLAB Answers、Stack Overflow、matlab中文论坛、matlab中国论坛、matlab技术论坛、小木虫、CSDN以及百度贴吧等,不再作专门的参考资料来源声明。
巴山学长
2019/12/26
2.3K0
5000个matlab常见问题锦集的雄关路(002)
MATLAB画图——基础篇「建议收藏」
在MATLAB使用的过程中,学会画图是一项必要的技能。在这里,我总结了部分简单的画图函数,同时附上代码(本文中的程序为了方便给出的数据都很简单,大家可以自己去尝试其他数据)。这对刚刚开始接触MATLAB的小白来说,我认为还是很有帮助的。
全栈程序员站长
2022/11/08
1.8K0
MATLAB画图——基础篇「建议收藏」
【MATLAB 从零到进阶】day6 MATLAB绘图与可视化
图形窗口、线条、曲面和注释等都被看作是MATLAB中的图形对象,所有这些图形对象都可以通过一个被称为“句柄值”的东西加以控制,例如可以通过一个线条的句柄值来修改线条的颜色、宽度和线型等属性。这里所谓的“句柄值”其实就是一个数值,每个图形对象都对应一个唯一的句柄值,它就像一个指针,与图形对象一一对应。例如可以通过命令h = figure返回一个图形窗口的句柄值。
统计学家
2019/04/10
7690
【MATLAB 从零到进阶】day6 MATLAB绘图与可视化
相关推荐
Matlab中的画图函数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验