MATLAB-学习笔记-4

本文介绍了MATLAB中如何绘制对数坐标图,包括双对数、单轴对数以及使用plotyy创建双y轴图。同时,讲解了极坐标图的绘制方法。此外,详细阐述了三维图形的绘制,如三维曲线和空间曲面的实现,包括plot3函数和surf、mesh命令的使用。还提到了图形处理,如添加格栅、图例和自定义坐标轴范围。
摘要由CSDN通过智能技术生成

目录

 1.1  对数坐标图

1.2 极坐标图

2.1三维图形

2.1.1三维曲线

1)一条曲线  plot3(x,y,z,s)

2)多条曲线   plot3(x,y,z)

2.2 空间曲面

1)surf(x,y,z)

2)mesh(x,y,z)

3.1处理图形

1.在图形上加格栅、图例和标注

2.定制坐标

3.图形保持


 1.1  对数坐标图

对数转换有双对数坐标转换和单轴对数坐标转换两种(刻度按照对数的规律变化)

loglog(y)                        表示x,y坐标系都是对数坐标系

semilogx(y)                   表示x坐标轴是对数坐标系

semilogy(...)                  表示y坐标轴是对数坐标系

plotyy                            有两个y坐标轴,一个在左边,一个在右边

1.用方形标记创建一个简单的loglog

x = logspace(-1,2);
loglog(x,exp(x),'-s')
grid on

2.创建一个简单的半对数坐标图

x = 0:.1:10;
semilogy(x,10.^x)

3.绘制y=x^{3}的函数图、对数坐标图、半对数坐标图

x=logspace(first,last,n)    创建从first开始,last结束,生成从10的a次方到10的b次方之间按对数等分的n个元素的行向量

1.2 极坐标图

命令polar(theta,rho,s)表示用角度theta(弧度表示)和极半径rho做极坐标图,用s指定线型

例   画r=sin2\theta cos2\theta的极坐标图形 

theta = linspace(0,2*pi);
rho = sin(2*theta).*cos(2*theta);
polar(theta,rho);

2.1三维图形

三维图形包括空间曲线和曲面图形

2.1.1三维曲线

1)一条曲线  plot3(x,y,z,s)

       命令plot3(x,y,z,s)通过描点连线画出曲线,这里x,y,z都是n维向量,分别表示该曲线上点集的横坐标、纵坐标、函数值,s表示颜色,线型等

例  在区间[0,10\pi ]画出曲线x=sint,y=cost,z=t,并分别标注

t=0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
xlabel('sin(t)')
ylabel('cos(t)')

2)多条曲线   plot3(x,y,z)

这里x,y,z都是m×n矩阵,其对应的每一列表示一条曲线

例 画多条曲线,观察函数Z=(X+Y)^{2}

x = -3:0.1:3;
y = 1:0.1:5;
[x,y] = meshgrid(x,y);
z = (x+y).^2;
plot3(x,y,z)

2.2 空间曲面

1)surf(x,y,z)

X,Y,Z是三个数据矩阵,命令surf(X,Y,Z)将该数据点所表示的曲面画出

shading flat           将当前图形变得平滑

[x,y]=meshgrid(xgv,ygv)

meshgrid函数生成的X,Y是大小相等的矩阵,xgv,ygv都是行向量

2)mesh(x,y,z)

命令mesh(X,Y,Z)将该数据点在空间中描出,并连成网格

可根据Z=(X+Y)^2尝试输出图形和网格图

3.1处理图形

1.在图形上加格栅、图例和标注

1)grid on,grid off          (网格线)

2)hh=xlabe1('string')    在x轴加图例

     hh=ylabe1('string')     在y轴加图例

     hh=zlabe1('string')     在z轴加图例

     hh=title('string')          在顶端加图例

以往题中有例子,若新版本有可能输出错误,用其所改正后的代码即可

3)hh=gtext('string')  任意位置加入标注

2.定制坐标

axis([XMIN XMAX YMIN YMAX ZMIN ZMAX])

axis auto

命令axis auto将坐标轴返回到自动缺省值

例  在区间[0.005,0.01]显示y=sin\frac{1}{x} 的图形

x = linspace(0.0001,0.01,1000);
y = sin(1./x);
plot(x,y);
axis([0.005 0.01 -1 1])

3.图形保持

1)hold on,hold off

注意:“hold on,hold off”后不能跟分号,若想将多条曲线画在一起,则可用“hold on”

2)H=figure

figure(H)

命令H=figure创建图形并返回图形的句柄

命令figure(H)新建H窗口,激活图形H使其可见,并把它置于其他图形之上

若想在一个界面上画一个图形,并将多个图形一起画,而又不能相互影响,则可用H=figure

例  在区间[0,2\pi ]分别画出y=sinx,z=cosx的图形,保持并显示y=sinx的图形 

x = linspace(0,2*pi,100);
y = sin(x);z = cos(x);
plot(x,y);
title('sin(x)');
pause
figure(2);
plot(x,z);
title('cos(x)')
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qqgg77

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值