matlab画图基本命令

一、本文主要内容和相关参考博客

  1. 参考了xticklabel和xtick在matlab里的区别  和 label ‘ytick’的设置这两个网址。
  2. matlab在画图时会自动调整坐标轴间隔的大小,但是我们可以使用如set(gca,'ytick',ylabel_pos,'yticklabel',ylabel_str)的函数来实现自己调整间隔以画出我们满意的图。
  3. "plot","title","xlabel","ylabel","grid on","figure","hold on","linspace"等基本命令的使用。

二、相关实例

  1. 反正弦函数和反余弦函数图像的绘制。

           1)要明确函数表达式和定义域,因为他们传入到plot等画图函数中。

           y1 = arcsin(x)  x\epsilon[-1,1];    y2 = arccos(x)  x\epsilon[-1,1];

           2)画图代码如下:

%%
x = linspace(-1,1,100);%%返回包含 x1 和 x2 之间的 100 个等间距点的行向量。
y = asin(x);
plot(x,y);
title('反正弦函数图像');
grid on;
xlabel('x');
ylabel('y');
figure;
x = linspace(-1,1,100);
y = acos(x);
plot(x,y);
title('反余弦函数图像');
grid on;
xlabel('x');
ylabel('y');

           3)title: 设置标题;grid on : 绘制网格;xlabel 和ylabel: 设置横纵坐标;figure:另外再开启一张图。正是因为有了figure命令的存在,最终得到的结果才有两幅图,如下:

图1
图1
图2
图2

           4)当然也可以将两个函数画在同一张图片,使用 hold on命令即可,同时使用这个set(gca,'ytick',ylabel_pos,'yticklabel',ylabel_str);语句,其中‘ylabel_pos’是用来来设置y轴的间隔大小,'ylabel_str'是用来描述各个间隔的字符,ylabel_pos和ylabel_str这两个数组长度尽量保持一致。具体可见上文引用的第一个链接,代码如下。

x = linspace(-1,1);
y1 = asin(x);

plot(x,y1);
hold on;
y2 = acos(x);
plot(x,y2);
ylabel_pos = -pi:pi/4:2*pi;
ylabel_str = {'-pi','-3/4*pi','-2/4*pi','-1/4*pi','0','1/4*pi','2/4*pi','3/4*pi','pi','5/4*pi'};
%set(gca,'ytick',-pi:pi/4:2*pi);%set语句必须放在画图函数的后面
set(gca,'ytick',ylabel_pos,'yticklabel',ylabel_str);
title('asin(x)与acos(x)图像比较');
grid on;
xlabel('x');
ylabel('y');
legend('asin(x)','acos(x)');

          未使用set(gca,'ytick',ylabel_pos,'yticklabel',ylabel_str);得到以下图像。

图3
图3

         如图3所示,y轴的间隔即使由matlab自动控制的,再看图4,使用set(gca,'ytick',ylabel_pos,'yticklabel',ylabel_str);得到以下图像。

图4
图4

        如图4所示,y轴的间隔和标注即设成了我们想要的。

     2.关于set(gca,'ytick',ylabel_pos,'yticklabel',ylabel_str);的说明,如下。

ylabel_pos = -pi:pi/4:2*pi; %按照自己想要的间隔分
ylabel_str = 
{'-pi','-3/4*pi','-2/4*pi','-1/4*pi','0','1/4*pi','2/4*pi','3/4*pi','pi','5/4*pi'};%每个间隔点的自定义字符表示
set(gca,'ytick',ylabel_pos,'yticklabel',ylabel_str);

    set语句必须放在画图函数的后面,不然就无法使y轴的间隔和标注即设成了我们想要的,而还是会由matlab自动确定。

    也可以 set(gca,'ytick',ylabel_pos);  set(gca,'yticklabel',ylabel_str);   

    以上两句与set(gca,'ytick',ylabel_pos,'yticklabel',ylabel_str);等价。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值