赞
踩
目录
如何设置ezplot的格式
名 称 | 含 义 | 名 称 | 含 义 | 名 称 | 含 义 |
abs | 绝对值 | asin | 反正弦 | coth | 双曲余切 |
exp | 指数 | acos | 反余弦 | asinh | 反双曲正弦 |
log | 对数 | atan | 反正切 | acosh | 反双曲余弦 |
log10 | 10为底对数 | acot | 反余切 | atanh | 反双曲正切 |
log2 | 2为底对数 | sec | 正割 | acoth | 反双曲余切 |
pow2 | 2次幂 | csc | 余割 | sech | 双曲正割 |
sqrt | 平方根 | asec | 反正割 | csch | 双曲余割 |
sin | 正弦 | acsc | 反余割 | asech | 反双曲正割 |
cos | 余弦 | sinh | 双曲正弦 | acsch | 反双曲余割 |
tan | 正切 | cosh | 双曲余弦 | ||
cot | 余切 | tanh | 双曲正切 |
简单举例
- syms x
- fx=sqrt(1+x^2);
- function f=myfun(x)
- f=(3-2.*x).^2.*x;
fx=@(x) (x+10)
使用if-else判断能够帮助我们实现分段函数
- function y= w(x)
- if x<0
- y=x+2;
- else
- y=x-3;
- end
- end
- #清屏
- clear
- #将我们的x设置为变量
- syms x
- #使用匿名方法创建我们的y
- y=@(x) abs(x);
- #使用fplot,第一个参数为我们的方法,第二个参数为我们的自变量x的范围
- fplot(y,[-5,5])
- #保持我们当前的图不被重置
- hold on
- #设置我们的x轴标签
- xlabel('x')
- #设置我们的y轴标签
- ylabel('y')
- #设置我们的整张图的标签
- title('y|x|')
- clear
- syms x
- y=@(x) floor(x);
- fplot(y,[-5,5])
- hold on
- xlabel('x')
- ylabel('y')
- clear
- syms x y
- y1=@(x) 2*sqrt(x);
- #第三个参数为我们的绘制图线的样式
- fplot(y1,[0,1], '-b')
- hold on
- y2=@(x) 1+x;
- fplot(y2,[1,5], '--og')
- #设置我们的图例
- legend('y=2*sqrt(x) ', 'y=1+x');
- title('分段函数')
- xlabel('x')
- ylabel('y')
- #设置我们的坐标轴的范围,第一个参数和第二个参数表示x轴的范围
- #第三个参数和第四个参数表示y轴的范围
- axis([0,5,0,5])
- clear
- x=-2:0.01:2;
- y=(1/sqrt(2*pi))*exp(-x.^2/2);
- #plot函数将我们的x,y传递进去就能够绘图
- plot(x,y)
- title('正态分布曲线')
- clear
- #设置我们x轴的最值
- xm=5;
- #设置我们的x取遍从最小值到最大值,并且间隔为0.01
- x=-xm:0.01:xm;
- #sign为我们符号函数
- y=sign(x);
- #将我们x==0时置空,就会形成断点
- y(x==0)=nan;
- figure
- #画图,并且设置我们的线的宽度为2
- plot(x,y,'LineWidth',2)
- hold on
- #绘制我们0,1处和0,-1处的两个空心点
- plot(0,1,'o',0,-1,'o');
- #在我们的原点处点上一个点
- plot(0,0,'.','MarkerSize',24)
- #给标题命名
- title('符号函数','FontSize',16)
- #设置我们的x轴标签和y轴标签
- xlabel('\itx','FontSize',16)
- ylabel('\ity','FontSize',16)
- #绘制网格线
- grid on
- axis([-xm,xm,-2,2])
- clear
- %设置x的max范围
- xm=5;
- %设置我们的x的范围为从-xm到xm,间距为0.01
- x=-xm:0.01:xm;
- %用对向量中每一个元素的乘法的方式让y=x的三次方根
- y=x.^(1/3);
- %绘图
- figure
- %创建两行一列的图标,并且将我们下面要画的图画在第一张图表
- subplot(2,1,1)
- %使用plot方法,并且将我们的对应的x,y值传入,并且设置我们的画的线的宽度为2
- plot(x,y,'LineWidth',2)
- %绘制我们的网格线
- grid on
- %给我们的图表打上标题
- title('负数不正确的开立方','FontSize',16)
- %分别根我们的x,y轴打上标题
- xlabel('\itx','FontSize',16)
- ylabel('\ity','FontSize',16)
- %因为我们在图1中发现我们的立方根的负数范围不正确,
- %所以我们需要单独将我们的符号取出来,然后乘以我们的原来函数的绝对值
- y=sign(x).*abs(x).^(1/3);
- subplot(2,1,2)
- plot(x,y,'LineWidth',2)
- grid on
- title('负数正确的开立方','FontSize',16)
- xlabel('\itx','FontSize',16)
- ylabel('\ity','FontSize',16)
如果我们直接这样绘制我们的tan(x)函数就会出现这样的情况
- clear;
- x=-5:0.01:5;
- y=tan(x);
- plot(x,y,'LineWidth',2)
使用ezplot,将我们的公式传入, 再传入我们的范围,就能够把图画出来。
- clear;
- syms x
- y=tan(x);
- y=inline(y);
- ezplot(y,[-2*pi,2*pi]);
ezplot还可以绘制隐函数图像
- clear;
- syms x
- ezplot("x^2/4+y^2/6=1");
使用axis([x轴下线,x轴上限,y轴下限,y轴上限]) 可以指定我们坐标轴的范围
axis("equal")可以让我们的坐标轴的x,y轴等距
将我们的ezplot之后的结果传递给一个参数,然后使用我们的set来设定我们的ezplot画的图的类型
- clear;
- syms x
- h=ezplot("x^2/4+y^2/6=1");
- set(h,'color','r','LineWidth',2);
使用meshgrid能够让我们的x,y中的数实现一一对应,采用meshgrid能够让我们同时绘制多条曲线
- %对数函数
- clear %清除变量
- xm=3; %最大自变量
- x=0.1:0.1:xm; %自变量向量
- a=[1/exp(1),0.5:0.5:2,exp(1),10]; %底数向量
- [A,X]=meshgrid(a,x); %底数和自变量矩阵
- Y=log(X)./log(A); %对数函数矩阵
- figure %创建图形窗口
- plot(x,Y,'LineWidth',2) %画函数曲线族
- title('对数函数曲线族','FontSize',16) %加标题
- xlabel('\itx','FontSize',16) %加横坐标
- ylabel('\ity','FontSize',16) %加纵坐标
- grid on %加网格
- legend([repmat('\ita\rm=',length(a),1),num2str(a')],4)%复杂图例
- hold on %保持属性
- plot(x,-log(x),'*',x,log(x),'+',x,log10(x),'x')%补画自然对数和常用对数曲线
使用y=finverse(y)即可以让y变成自身的反函数
- syms x
- y=x^2;
- z=finverse(y);
- z
g=compose(f,g)
- syms x
- y=x^2;
- g=sin(x);
- z=compose(y,g);
- syms x z
- f=sin(x);
- g=x^2;
- compose(g,f) %返回复合函数g(f(y))
- compose(g,f,x,z) %返回自变量是z
- syms x z
- f=sin(x);
- g=x^2;
- subs(g,f) %返回复合函数f(g(y))
在一些周期性函数前面,我们可以乘上一些函数来绘制我们的调制曲线,让我们的函数能够被约束在两条调制曲线中。在下面的代码中我们使用了e^(-x)作为我们的调制曲线
- clc
- clear
- syms x
- y=sin(pi*x)*exp(-x);
- x=-5:0.01:5;
- y=inline(y);
- plot(x,y(x),x,exp(-x),x,-exp(-x),'LineWidth',2);
- syms x a b c %定义符号变量
- x1=-2; y1=0; x2=0;y2=1; x3=1; y3=5; %3点的横、纵坐标
- y=a*x^2+b*x+c; %二次符号函数
- s1=subs(y,x,x1)-y1 %第1个代数方程
- s2=subs(y,x,x2)-y2 %第2个代数方程
- s3=subs(y,x,x3)-y3 %第3个代数方程
- [a,b,c]=solve(s1,s2,s3)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。