如何用matlab画函数图_matlab常用画图函数

如何用matlab画函数图_matlab常用画图函数数学建模常用matlab工具(代码)画图画图散点图:scatter(X,Y,S)S确定每个标记的面积。S可以是与X和Y相同长度的矢量或标量。如果S为空,则使用默认大小,如果S是标量,则MATLAB绘制所有标记的大小相同。如果S是矢量,则分别对应为X、Y所确定圆的大小;scatter([11121314],[14152627],[202510038])…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

画图

1. 散点图(scatter()函数):

scatter(X,Y) 简单来用给出X Y的值通过函数便能在该坐标上画出一个圆圈,例如

scatter(1,2)

在这里插入图片描述
如果将X Y替换成长度相同的数组(长度不同自然无法一一对应)便能够画出多组点

我们可能根据实际的需要,会调整圆圈大小和颜色,那么就要在scatter()后面添加相应的变量
scatter(X,Y,S,C)
S 必须为标量或长度与 X 相同的矢量。
(如果S是标量,则MATLAB绘制所有标记的大小相同。如果S是矢量,则分别对应为X、Y所确定圆的大小)
C 必须为 RGB 三元数、与 X 长度相同的 M×1 矢量或 M×3 矩阵。

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);
sz = linspace(1,100,200);
c = linspace(1,10,length(x));
scatter(x,y,sz,c)

在这里插入图片描述
在scatter(x,y,s,c,A) 改变A的“值”可以将“点”做相应的转换
’filled‘ ————————————–实心圆
‘s’ ——————————————-正方形
’d‘——————————————–菱形
’.’———————————————点 (实用性强!)
‘p’——————————————–⭐(配上颜色很好看!)

2. 函数图像(plot()函数):

  

plot()函数为我们提供了绘制函数图像的功能,通过plot(x,y)变可绘制函数图像

x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)

  
在这里插入图片描述

下面交代一下此函数使用需注意的地方和一些扩展使用:
  

1. 在同一张图绘制多条曲线

x1 = linspace(-2*pi,2*pi);
x2 = linspace(0,4*pi);
y1 = sin(x1);
y2 = cos(x2);

figure
plot(x1,y1,x2,y2)

运行结果:
在这里插入图片描述
  

  
也可以通过hold on hold off语句实现:(效果相同)
代码如下:
  

x1 = linspace(-2*pi,2*pi);
x2 = linspace(0,4*pi);
y1 = sin(x1);
y2 = cos(x2);

figure
plot(x1,y1)
hold on
plot(x2,y2)
hold off

  

  

2. 改变颜色和大小

plot(x1,y1,‘c’,x2,y2,‘y’) 后面加上相应的颜色变可改变曲线颜色便于区分(系统会默认蓝和红,自古红蓝出CP)
同样plot(x1,y1,x2,y2,’–’,x,y3,’:’) 可以改变曲线类型,

plot(x,y,'b--')

b代表BLUE , – -代表曲线类型, 读者自行尝试使用
  
  

3.限制X Y坐标轴范围

3.加入ylim([a,b])和xlim([c,d])来确定函数x,y的 范围:

x = [-5 -eps(1) 0 eps(1) 5];
y = sign(x);
plot(x,y)
grid on

在这里插入图片描述
  

可以看出Y的范围是-1到1画出的图像也刚好定格,这样十分不美观,我们利用ylim()加以修饰,代码如下:

x = [-5 -eps(1) 0 eps(1) 5];
y = sign(x);
plot(x,y)
ylim([-2 2])
grid on

  

在这里插入图片描述
  

  

4.grid on 加上网格线

在上面的例子中,加入了grid on 所以图中就会出现网格

  

  

  

5. subplot函数绘制多个子图

subplot(m,n,p)在mXn的区域内绘制图像,p为第几个子图。

x = linspace(0,10);
y1 = sin(x);
y2 = sin(2*x);
y3 = sin(4*x);
y4 = sin(8*x);
figure
subplot(2,2,1)
plot(x,y1)
title('Subplot 1: sin(x)')

subplot(2,2,2)
plot(x,y2)
title('Subplot 2: sin(2x)')

subplot(2,2,3)
plot(x,y3)
title('Subplot 3: sin(4x)')

subplot(2,2,4)
plot(x,y4)
title('Subplot 4: sin(8x)')

在这里插入图片描述

3.拟合N阶曲线(polyfit()函数和polyval()函数)

polyfit()基本使用:

polyfit(x,y,n)拟合N阶多项式系数(注意这里只是拟合系数,并不能画出函数图像,需要借助其他函数绘制拟合曲线的函数图像)

p(x)=p1xn+p2xn−1+…+pnx+pn+1

x = linspace(0,4*pi,10);
y = sin(x);
p = polyfit(x,y,7)

运行结果如下:
p =

-0.0001 0.0028 -0.0464 0.3702 -1.3808 1.9084 -0.1141 0.0002

在这里在介绍一种函数 polyval()用于函数估值运算

p = [3 2 1];
polyval(p,[5 7 9])

结果为:

ans =

86   162   262

也就是当 p(x)=3X^2+2X+1时,X分别等于5,7,9的值。

所以可以将两个函数一起使用,即用polyfit()函数给出拟合曲线系数,再用polyval()函数计算拟合后曲线的Y值,有了X,Y我们就可以画出拟合后曲线的图像。`

x = linspace(0,1,5);
y = 1./(1+x);

p = polyfit(x,y,4);

x1 = linspace(0,2);
y1 = 1./(1+x1);
f1 = polyval(p,x1);

figure
plot(x,y,'o')
hold on
plot(x1,y1)
plot(x1,f1,'r--')
legend('y','y1','f1')

如何用matlab画函数图_matlab常用画图函数

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193782.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(2)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号