MATLAB学习系列——向量与曲线绘图

向量

1.norm(a) %向量a的模
2.dot (a,b)或 a * b ’    %向量a与b的数量积
3.cross (a,b)  %向量a与b的向量积(只能作三维的)
4.dot(cross(a,b),c)	   %向量的混合积 
5.a.*b     %向量a与b的对应元素相乘
6.a.^2       %向量a 的每个元素取平方

绘图

1.plot(x,y, 'r+-')	 %离散数据画函数曲线图
2.fplot(y,[a,b],)	 %连续函数y在区间[a,b]上做曲线图
3.ezplot(y,[a,b])	 %连续函数y在区间[a,b]上做曲线图
4.polar(t,r)		%极坐标绘曲线图
5.hold  on           	%保持图形
6.hold  off            	%取消保持图形
7.clf                 	%删除图形
8.subplot(m,n,p)  %分块绘图,分割成m行n列,p为编号
1.line(x,y)     % 将各数据点用折线连接
2.plot(x1,y1,x2,y2)	 %同一图中绘制多条曲线
3.grid on (off ) 	%在图形窗口添加(去掉)网格
4.[x,y,z]=meshgrid(x,y,z)	 %三维网格坐标的生成
5.ginput(n)      	 %用鼠标获取图形中n个点的坐标
6.axis([xmin,xmax,ymin,ymax]) %确定坐标系的范围
7.axis(‘equal’)	 %各坐标轴刻度增量相同
8.axis('on')	 %返回(缺省的)坐标轴显现状态 
xlabel('x轴')   		 %x轴加标志“x轴”
ylabel('y轴')   		 %y轴加标志“y轴”
zlabel('z轴')		 %z轴加标志“z轴”
title(‘f曲线图’) 	           %加图名“f曲线图”
legend('y1 ' , 'y2')	 %为图形添加图例
text(x,y, '文本')	 %在指定位置添加文本字符串
gtext('文本')	 %用鼠标在图形上主放置文本
set(gca,'xlim',[0 80]) 
%设置当前坐标轴的x坐标范围为0~80

绘制对数图、极坐标图及条形图

1.fplot(fname,lims) 绘制fname指定的函数的图形.
2.polar( theta, rho) 使用相角theta 为极坐标形式绘图,相应半径为rho,其次可使用grid命令画出极坐标网格.
3.loglog  用log10-log10标度绘图.
4.semilogx 用半对数坐标绘图,x轴是log10,y是线性的.
5.semilogy 用半对数坐标绘图,y轴是log10,x是线性的.
6.bar(x) 显示x向量元素的条形图,bar不接受多变量.
7.hist 绘制统计频率直方图.
8.histfit(data,nbins) 绘制统计直方图与其正态分布拟合曲线.

综合绘图

在这里插入图片描述

x=0:pi/8:2*pi;
subplot(2,3,1)
plot(x,cos(x),'-*');
title(cos(x));
subplot(2,3,2)
fplot(@cos,[0 2*pi]);
t=0:0.01:2*pi;
subplot(2,3,3)
polar(t,sin(6*t)) ;
s=normrnd(10,2,10000,1); %生成满足正态分布的随机数(期望,方差,生成1000*1矩阵)
subplot(2,3,4)
histfit(s);
title('正态分布');
yu=rand(30000,1);     %% 平均分布
subplot(2,3,5)
hist(yu, 25);
title('平均分布');
subplot(2,3,6)
x=0:0.00001:2*pi;
plot(x,sin(x),'-r');
%set(gca,'xtick',0:pi/8:2*pi);%x轴划分为5个刻度
set(gca,'xticklabel',{'0','pi/8','pi/4','pi/2','pi','9*pi/8','5*pi/4','11*pi/8','2*pi'});%标注
text(pi/4,sin(pi/4),'\leftarrow sin(\pi/4)'); %标注
text(pi/6,sin(pi/6),'\leftarrow sin(\pi/6)') ;%标注
title('曲线y=sin(\theta)'); %标注图形名

参数方程

t=linspace(0,2,50)*pi;
x=cos(t);
y=sin(t);
plot(x,y);
axis equal;  %看起来是圆
text(0,0,'x^2+y^2=1');

绘制多条曲线

x=linspace(0,2*pi);	%定义数组x默认100个数据
k=5:5:30;			%定义数组k
f=['r’,‘g’,‘b’,‘m’,‘k’,‘c']; %定义颜色数组f
for i=1:6
    y=k(i)*(sin(x)./(1+x));%定义函数
    plot(x,y,f(i));%绘制不同颜色的图形
    hold on %图形保持
end

手绘图

在这里插入图片描述

figure
axis([0,10,0,10])
hold on
k=input('k=');
for  i=1:k
    x=[];y=[];xi=[];yi=[];
    while(1)
        [xx,yy,b]=ginput(1); %读取1次
        plot(xx,yy,'r.');
        x=[x,xx];y=[y,yy];
        if b==3
            break
        end
    end
    plot(x,y)
    eval(['a',num2str(i),'=', 'x',';']);   %记录一笔的横坐标数组
    eval(['b',num2str(i),'=', 'y',';']);   %记录一笔的纵坐标数组  
end
hold off
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值