Mablat学过数学或者接触过计算机的同学可能都已经非常熟悉,我也是刚刚才学习了有关matlab的一些编程,有感而发,写下第一篇博客~
百度百科
百度云链接 提取码: 3erx
figure('NumberTitle', 'off', 'Name', 'sinx函数');
x=[0:pi/1000:2*pi]; %x的离散点(精度较高,0到2pai范围)
y=sin(x); %函数表达式
plot(x,y); %x做出函数图像
xlabel('X轴'); %x轴表示对象标签
ylabel('Y轴'); %y轴表示对象标签
grid on; %显示网格线
axis on; %显示坐标轴
若在指定区间内画y=sinx(在-pai,pai),可以用linspace:
figure('NumberTitle', 'off', 'Name', 'sinx函数');
x=linspace(-pi,pi,2^10);
y=sin(x);
plot(x,y); %x做出函数图像
xlabel('X轴'); %x轴表示对象标签
ylabel('Y轴'); %y轴表示对象标签
grid on; %显示网格线
axis on; %显示坐标轴
2.y=cosx 以及y=tanx函数图像:
figure('NumberTitle', 'off', 'Name', 'cosx函数');
x=[-2*pi:pi/1000:2*pi]; %x的离散点
y=cos(x); %函数表达式
plot(x,y); %x做出函数图像
xlabel('X轴'); %x轴表示对象标签
ylabel('Y轴'); %y轴表示对象标签
grid on; %显示网格线
axis on; %显示坐标轴
y=tanx图像:
因为tanx的在x=pi/2上无定义,所以做出来的图像与实际还是差距有点大~
代码附上:
figure('NumberTitle', 'off', 'Name', 'tanx函数');
x=[((-pi/2)+0.02):0.01:((pi/2)-0.02)]; %x的离散点
y=tan(x); %函数表达式
plot(x,y); %x做出函数图像
xlabel('X轴'); %x轴表示对象标签
ylabel('Y轴'); %y轴表示对象标签
grid on; %显示网格线
axis on; %显示坐标轴
或者可以用软件自带函数:
ezplot('tan(x)')
3.圆,球体图像表示:
①圆:
圆是以(0,0)为圆心,r=2半径的,如果是写出表达式是x^2 +y ^2=4 ,但是在matlab作图中,最好的方式是用x=rcosa,y=rsina替换画图最合适:
替换r可以画出各种半径的圆~
想要画出原点位置不同的圆只要改变x,y的表达式即可。
figure('NumberTitle', 'off', 'Name', '圆');
r=2;
a=[0:pi/100:2*pi];
x=r*cos(a);
y=r*sin(a);
plot(x,y)
法1:
figure('NumberTitle', 'off', 'Name', '球');
sphere(50); %球由50*50个面组成
法2:
[x y z]=sphere();
figure(2);5
surf(2*x,2*y,2*z); %绘制半径为2的球
4.椭圆和椭球体的图像:
①椭圆:
其实椭圆就是圆演变过来的,只是x=rcosa和y=rsina变化一下罢了~
举个例子
可列为参数方程:x=1+2cosa,y=-2+3sina
这里面的数字都可以根据椭圆性质直接替换,这里仅仅举一个具体的椭圆例子
然后类比圆的代码去跑~
figure('NumberTitle', 'off', 'Name', '椭圆');
a=[0:pi/100:2*pi];
x=1+2*cos(a);
y=-2+3*sin(a);
plot(x,y)
grid on; %显示网格线
axis on; %显示坐标轴
②椭球体:
先补充一下你们在数学上的短板:
椭球体的参数方程:
x=asinθcosφ
y=bsinθsinφ
z=ccosθ (0≤θ≤π, 0≤φ<2π)
法一:
figure('NumberTitle', 'off', 'Name', '椭球体');
a=1;b=2;c=3;(a,b,c 自己定义大小即可)
syms m n;
x=a*sin(m)*cos(n);
y=b*sin(m)*sin(n);
z=c*cos(m);
ezmesh(x,y,z,[0,pi,0,2*pi]);
grid on; %显示网格线
axis on; %显示坐标轴
ezmesh是MATLAB中的一个函数,主要是用于绘制符号函数的三维网格图:
下面介绍一下ezmesh:
1.ezmesh(x,y,z):在默认的矩形定义域范围[-2pipi,-2pi
2.ezmesh(x,y,z,[smin,smax,tmin,tmax]):在指定的矩形定义域范围[smin 举个简单例子:当上面的椭球体的a=b=c,就是球体啦~
也可以用这个函数画出可爱的球体:
a=5;
x=a*sin(m)*cos(n);
y=a*sin(m)*sin(n);
z=a*cos(m);
ezmesh(x,y,z,[0,pi,0,2*pi]);
grid on; %显示网格线
axis on; %显示坐标轴
在举一个matlab推荐的例子:
画出这个二元函数f(x,y)=x*e^ (-x^2 -y ^2)的图像:
figure('NumberTitle', 'off', 'Name', ' f(x,y)=x*e^(-x^2-y^2)');
fh = @(x,y) x.*exp(-x.^2-y.^2);
ezmesh(fh,40)
作为一个喜欢数学的编程小白~第一次写博客多多体谅,后续还会写更多好玩的和数学结合的博客哦