matlab 画一维、二维图像

本人很菜,matlab又只是一个辅助工具(仅针对本人),所以不算熟悉,在这里整理一些画图方法以及提供代码,方法很笨,还望大神指正。

matlab画函数图像

  • 不带约束条件函数图像方法
          例子函数:
        
        一维图像代码如下:
clear all ;
       x=-10:0.1:10;
       z=abs(x.*sin(x)+0.1.*x);
       plot(x,z)
       xlabel( 'x' );
       ylabel( 'F' );
       title( '函数10' );
        结果如下:
matlab 画一维、二维图像_第1张图片
      二维图像代码如下:
clear all ;
       t=-10:0.1:10;
       [x,y] =meshgrid(t); %%表示区域网格控制,目的是为了让x,y形成格点矩阵%%
       z=abs(x.*sin(x)+0.1.*x)+abs(y.*sin(y)+0.1.*y);
       surfc(x,y,z);
       %%设置三维曲面x轴,y轴,z轴,标题对应内容及三个坐标轴的取值范围%%
       shading interp
       xlabel( 'x1' );
       ylabel( 'x2' );
       zlabel( 'F' );
       title( '????10' );
       结果如下:
matlab 画一维、二维图像_第2张图片
  • 带约束条件的函数图像方法
           例子函数:
          matlab 画一维、二维图像_第3张图片
         一维图像代码如下:
clc
clear
x=-40:0.1:40;
y=x+20;
for i=1:length(x)
   if y(i)<0
       t1(i)=-160+y(i).^2;
   elseif y(i)>=0 & y(i)<=15
       t1(i)=160/15.*(y(i)-15);
   elseif y(i)>=15 & y(i)<=20
       t1(i)=200/5.*(15-y(i));
   elseif y(i)>20
       t1(i)=-200+(y(i)-20).^2;
   end
end
z=t1+200;
plot(x,z);
xlabel( 'x' );
ylabel( 'F' );
title( '函数1' );
         结果如下:
matlab 画一维、二维图像_第4张图片
      二维图像代码如下:
clc
clear
x=-40:0.1:40;
[x1,x2]=meshgrid(x);
y1=x+20;
y2=x+20;
for i=1:length(x1)
   if y1(i)<0
       t1(i)=-160+y1(i).^2;
   elseif y1(i)>=0 & y1(i)<=15
       t1(i)=160/15.*(y1(i)-15);
   elseif y1(i)>=15 & y1(i)<=20
       t1(i)=200/5.*(15-y1(i));
   elseif y1(i)>20
       t1(i)=-200+(y1(i)-20).^2;
   end
end
 
for i=1:length(x2)
   if y2(i)<0
       t2(i)=-160+y2(i).^2;
   elseif y2(i)>=0 & y2(i)<=15
       t2(i)=160/15.*(y2(i)-15);
   elseif y2(i)>=15 & y2(i)<=20
       t2(i)=200/5.*(15-y2(i));
   elseif y2(i)>20
       t2(i)=-200+(y2(i)-20).^2;
   end
end
 
for i=1:length(x1)
    for j=1:length(x2)
        z(i,j)=t1(i)+t2(j)+200.*2;
    end
end
surfc(x1,x2,z);
 shading interp
       xlabel( 'x1' );
       ylabel( 'x2' );
       zlabel( 'F' );
       title( '????1' );
       结果如下:

matlab 画一维、二维图像_第5张图片

你可能感兴趣的:(matlab)