MATLAB二维曲线

%% 二维曲线
% plot函数的基本用法:plot(x,y)其中,x和y分别用于存储x坐标和y坐标数据。
x = [2.5,3.5,4,5];
y = [1.5,2.0,1,1.5];
plot(x,y)

% 用复数绘制曲线
x = [2.5,3.5,4,5];
y = [1.5,2.0,1,1.5];
cx = x+y*i;  % 也可以用cx=complex(x,y)来构建复数
plot(cx)

% 最简单的plot函数调用格式
x = [1.5,2,1,1.5];
plot(x)  % 折线的横坐标为x向量元素的下标。第一个点为(1,1.5)第二个点为(2,2)第三个点为(3,1)第四个点为(4,1.5)

%{
plot(x,y),当x是向量,y是矩阵时
如果矩阵y的列数等于x的长度,则以向量x为横坐标,以y的每个行向量为纵坐标绘制曲线,曲线的条数等于y的行数。
如果矩阵y的行数等于x的长度,则以向量x为横坐标,以y的每个列向量为纵坐标绘制曲线,曲线的条数等于y的列数。
%}
% linspace可以用于产生x1,x2之间的N点行线性的矢量,linspace(x1,x2,N)。
x = linspace(0,2*pi,100); % 产生元素个数为100的行向量
y = [sin(x); sin(2*x); sin(0.5*x); cos(x)];
plot(x,y)

%{
plot(x, y)函数参数的变化形式当x、y是同型矩阵时:
以x、y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
%}
t = 0:0.01:2*pi;
t1 = t';  % 将t转制为列向量t1
x = [t1,t1,t1];
y = [sin(x); sin(2*x); sin(0.5*x)];
plot(x,y)

%{
含多个输入参数的plot函数
plot(x1, y1,x2,y2,…, xn, yn)
其中,每一向量对构成一组数据点的横、纵坐标,绘制一条曲线。
%}
t1=linspace(0,2*pi, 10);
t2=linspace(0,2*pi, 20);
t3=linspace(0,2*pi, 100);
plot(t1,sin(t1), t2,sin(t2)+1, t3,sin(t3)+2)

% 用不同线型和颜色在同一坐标内绘制曲线y=2e^(-0.5x)sin(2pi*x)及其包络线。
x = (0:pi/50:2*pi)';
y1 = 2*exp(-0.5*x)*[1,-1];
y2 = 2*exp(-0.5*x).*sin(2*pi*x);
x1 = 0:0.5:6;
y3 = 2*exp(-0.5*x1).*sin(2*pi*x1);
plot(x,y1,'k:',x,y2,'g--',x1,y3,'rp')  % r表示红色,p表示数据点标记用五角星

%% fplot函数:自适应选取采样间隔绘制图像
% fplot函数的基本用法
% fplot(f, lims,选项)
% 其中,f代表一个函数,通常采用函数句柄的形式。lims为x轴的取值范围,用二元向量[xmin,xmax]描述,默认值为[-5,5]。选项定义与plot函数相同。
fplot(@(x)sin(1./x), [0,0.2], 'b')

% 绘制螺旋线
fplot(@(t)t.*sin(t), @(t)t.*cos(t), [0,10*pi], 'r')

%% 绘制图形的辅助操作
% 图形标注
%{
title(图形标题)
xlabel(x轴说明)
ylabelly轴说明)
text(x, y,图形说明)
title(图形标题)xlabel(x轴说明)ylabelly轴说明)text(x, y,图形说明)
legend(图例1,图例2,…)
%}
x = -2*pi:0.05:2*pi;
y = sin(x);
plot(x,y)
title({'MATLAB','y=sin(x)'})

% 在图形标题中使用LaTeX格式控制符
title('y=cos{\omega}t');
title('y=e^{axt}');
title('X_{1}{\geq}X_{2}');
title('\bf y=cos{\omega}t+{\beta}');
title('\it y=cos{\omega}t+{\beta}');

% title函数含属性设置的title函数: title(图形标题,属性名,属性值)
% Color属性:用于设置图形标题文本的颜色。
title('y=cos{\omega}t','Color','r')
% FontSize属性:用于设置标题文字的字号。
title('y=cos{\omega}t','FontSize',24)

% xlabel和ylabel标注(格式与title相同)
x = -2*pi:0.05:2*pi;
y = sin(x);
plot(x,y)
title('y=sin(x)')
xlabel('-2 \pi \leq x \leq 2 \pi')

% text函数和gtext函数
% text(x,y,说明):在坐标为(x,y)点处添加说明
% gtext(说明)
x = -2*pi:0.05:2*pi;
y = sin(x);
plot(x,y)
text(-2*pi,0,'-2{\pi}')
text(3,0.28,'\leftarrow sin(x)')

% legend函数
x = linspace(0,2*pi,100);
plot(x,[sin(x);sin(2*x);sin(3*x)])
legend('sin(x)','sin(2x)','sin(3x)')

%% 坐标控制
% axis([xmin, xmax, ymin, ymax,zmin, zmax])
axis([-pi,pi,-4,4])  % 横坐标轴的范围为-pi到pi,纵坐标轴的范围为-4,4
% 绘制一个正方形
x = [0,1,1,0,0];
y = [0,0,1,1,0];
plot(x,y)
axis([-0.1,1,-0.1,1.1])
axis equal  % 横纵坐标轴采用等长刻度

% grid on 加网格线
% box on 加边框

% hold on 在已存在图形上继续添加新的图形
% 用图形保持功能绘制两个同心圆
t = linspace(0,2*pi,100);
x = sin(t); y = cos(t);
plot(x,y,'b')
hold on;
plot(2*x,2*y,'r--')
grid on
axis([-2.2,2.2,-2.2,2.2])
axis equal

%% 图形窗口分割
% 子图:同一图形窗口中的不同坐标系下的图形称为子图。
% subplot函数:subplot(m,n,p)
% 其中,m和n指定将图形窗分成mxn个绘图区,p指定当前活动区。若p为1的话,那么后续的操作均在1区。
x=linspace(0,2*pi,60);
subplot(2,2,1)
plot(x,sin(x)-1);
title('sin(x)- 1'); axis([0,2*pi, -2,0])
subplot(2,1,2)  % 2行1列第2区
plot(x, cos(x)+ 1);
title('cos(x)+1'); axis([0,2*pi,0,2])
subplot(4,4,3) % 4行4列第3区
plot(x, tan(x));
title('tan(x)'); axis([0,2*pi,-40,40])
subplot(4,4,8)
plot(x, cot(x));
title('cot(x)'); axis([0,2*pi, -35,35])

%% 其他坐标系下的二维曲线图
% 对数坐标图
% 绘制1/x的直角线性坐标图和三种对数坐标图
subplot(2,2,1)
x=0:0.1:10
y=1./x
plot(x,y)
title("plot(x,y)")
subplot(2,2,2)
semilogx(x,y)  % x半对数坐标曲线
title("semilogx(x,y)")
grid on
subplot(2,2,3)
semilogy(x,y)  % y半对数坐标曲线
title("semilogy(x,y)")
grid on
subplot(2,2,4)
loglog(x,y)  % 全对数坐标曲线
title("loglog(x,y)")
grid on

% 极坐标图
% polar(theta, rho,选项):其中,theta为极角,rho为极径,选项的内容与plot函数相同。
% 按极坐标方程 y=1-sinx 绘制心形图像
t = 0:pi/100:2*pi;
r = 1-sin(t);
subplot(1,2,1)
polar(t,r)
subplot(1,2,2)
t1 = t-pi/2;
r1 = 1-sin(t1);

%% 统计图
% 条形类图形
% bar函数
% bar(y, style)其中,参数y是数据,选项style用于指定分组排列模式。
% bar(x,y,style)其中,x存储横坐标, y存储数据。
y=[1,2,3,4,5;1,2,1,2,1;5,4,3,2,1];
subplot(1,2,1)
bar(y)
title('Group')
subplot(1,2,2)
bar(y,'stacked')
title('Stack')
polar(t,r1)

% bar(x,y,style)其中,x存储横坐标, y存储数据。
x=[2015,2016,2017];
y=[68,80,115,98,102;75,88,102,99,110;81,86,125,105,115];
bar(x, y)
title('Group');

% 直方图
% hist函数:绘制直角坐标系下的直方图
% rose函数:用于绘制极坐标系下的直方图
% 绘制服从高斯分布的直方图。
Y=randn(10000,1);
subplot(1,2,1);
hist(Y)
title('高斯分布直方图')
subplot(1,2,2);
x = -3:0.2:3;
hist(Y,x)
title('指定区间中心点的直方图')

% rose(theta, x):其中,参数theta用于确定每一区间与原点的角度,选项x用于指定区间的划分方式。
% 绘制高斯分布数据在极坐标下的直方图。
y = randn(500,1);
theta=y*pi;
rose(theta)
title('在极坐标系下的直方图')

%% 面积统计图
% 扇形图pie函数:pie(x, explode).其中,参数x存储待统计数据,选项explode控制图块的显示模式。
score = [5,17,23,9,4];
ex = [0,0,0,0,1];  % 将最后一块图形突出出来
pie(score, ex)
legend('优秀','良好','中等','及格',  '不及格', 'location', 'eastoutside') % location指定图例位置;eastoutside图例放到图像右边呃外侧

%% 散点类图形
% scatterK数:散点图
% stairs函数:阶梯图
% stem函数:杆图
% scatter函数: scatter(x, y,选项, 'filled').参数x、y用于定位数据点,选项用于指定线型、颜色、数据点标记。
% 以散点图形式绘制桃心I曲线,曲线的参数方程如下:
t = 0:pi/50:2*pi;
x = 16*sin(t).^3;
y = 13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t);
scatter(x,y,'rd','filled')

%% 矢量类图形
% compass函数:罗盘图
% feather数:羽毛图
% quiver函数:箭头图
% quiver函数调用格式:quiver(x, y, u, v).其中,(x, y)指定矢量起点,(u, v)指定矢量终点。
% 已知向量A、B,求A+B,并用矢量图表示。
A = [4,5];B = [-10,0];C = A+B;
hold on
quiver(0,0,A(1),A(2));
quiver(0,0,B(1),B(2));
quiver(0,0,C(1),C(2));
text(A(1),A(2),'A');
text(B(1),B(2),'B');
text(C(1),C(2),'C');
axis([-12,6,-1,6])
grid on

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值