数学建模matlab画图操作大全
1.画图及一些基本设置
clear%清空工作区
clc%清空命令行窗口
close all%关闭所有图窗
x=-40:0.1:40
f=@(x) x.^2-110;%函数句柄
x0=fzero(f,15)%找15附近的零点
x0=fminsearch(f,-11)%找-11附近的最小值%% 画图及其基本操作
%画图,默认格式的函数,红色圆圈的零点,品红色虚线的横线
plot(x,f(x),x0,f(x0),'or',[-40 40],[0 0],'m--')
hold on%保持上一幅图不变(即下面的画图操作仍在上一个图中进行)
plot([-40 40],[500,500],'k-.')
legend('function','cosntant','line','test')%图例,给每条线命名
grid on%打开网格
axis([-40 40 -100 500])%横纵坐标轴的范围
xlabel('x-axis');%横坐标名称
ylabel('y-axis');%纵坐标名称
title('demo')%图的名称
plot(f(x))
2.隐函数及其画图
%% 定义隐函数并画出来
f=@(x,y) (x-1).^2/16+y.^2/4-1;
fimplicit(f)%绘制隐函数
grid on
axis([-5 6 -3 3])
title('ellipse')
3.直方图及其操作
clear
load count.dat%matlab自带的数据,24*3的矩阵
c3=count(:,3);hist(c3,10)%分成十个区间画直方图,旧版直方图函数,一维操作
title('旧版直方图一维');hist(count,10)%旧版直方图函数,多维数据操作
title('旧版直方图多维');histogram(count,10)%新版直方图函数,多维数据操作,但只画一个直方
title('新版直方图多维');histogram(c3,10);%新版直方图函数,是一个函数句柄
title('新版直方图一维');histfit(c3,10,'exponential')%在直方图里拟合,最后一个参数是拟合方式
title('用指数函数拟合直方图');h1=histogram(c3,10);
h1.BinWidth=10;%调整每个区间宽度
h1.FaceColor='m';%调整每个直方的色彩
%h1.Normalization='probability'%把纵轴从频数改成概率
%set(H,'PropertyName',PropertyValue,…)
title('用函数句柄调整直方图格式')mu3=mean(c3);%求平均值
sigma3=std(c3);%求标准差
var3=var(c3);%求方差
plot([mu3,mu3],[0,10],'r','linewidth',2)
title('一些数学参数绘制')
hold on
plot([mu3,mu3]+sigma3,[0,10],'b','LineWidth',2)
plot([mu3,mu3]+2*sigma3,[0,10],'k','LineWidth',2)
hold off%%删除图像某几段
figure
c3new=c3;
del=(c3>mu3+2*sigma3);
c3new(del)=NaN;%NaN直接让函数图像没了
plot(c3new);
title('删除图像的部分片段');%%平滑处理
x=1:24;
scatter(x,c3);%绘制散点图
title('平滑处理');
hold on
plot(x,c3,'r')
y=smooth(c3,5);%对图像经行平滑处理
plot(x,y,'k--')
hold off
4.函数拟合
clear
load count.dat%matlab自带的数据,24*3的矩阵
c1=count(:,1);
c2=count(:,2);
c3=count(:,3);corrcoef([c1,c2])%求c1,c2的相关系数a=polyfit(c1,c2,1);%一次函数拟合
b=polyfit(c1,c2,2);%二次函数拟合
c=polyfit(c1,c2,3);%三次函数拟合x=0:120;
plot(c1, c2,'o');%等效于scatter(c1,c2);
hold on
y1=polyval(a,x);%自带的智能函数
y2=polyval(b,x);%自带的智能函数
y3=polyval(c,x);%自带的智能函数
plot(x,y1,'r')
plot(x,y2,'m')
plot(x,y3,'k')
4.三维图像的绘制
clear
[x y z]=peaks;%matlab自带数据
figure
plot3(x,y,z)
title('图一')figure
h=surf(x,y,z)%最正规的三维图像绘制函数,是一个句柄
title('图二')hold on
colorbar;%打开colorbar
colormap hot%暖色调 colormap cool%冷色调
contour3(x,y,z,10,'k')%等高线的绘制,“10”代表等高线数量
shading interp%色彩过渡,阴影
% camlight left%调整光源方向
alpha(1)%调整透明度
5.条形统计图和其他
clear
clc
close all
load count.dat%matlab自带的数据,24*3的矩阵
c1=count(:,1);
c2=count(:,2);
c3=count(:,3);figure
bar(c3)%普通条形统计图figure
bar3(c3)%三维条形统计图figure
bar(count,'stacked')%多维数据堆叠画图%fill函数的用法
y=[1 2 2 1 1]
x=[1 1 2 2 1]
figure
fill(x,y,'r')%用红色填充矩阵所围住的区域%area函数,对积分区域进行颜色填充
z=-2*pi:0.1:2*pi;
figure
area(sin(z))%饼状图函数
a=[1 5 6 8]
figure
pie(a,[0 1 0 1])figure
pie3(a,[0 1 0 1])