大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
matlab画图函数基本使用(适合新手)
画图
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')
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193782.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...