在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、matlab在高等数学中的应用(《数学建模算法与应用》P453) 1、求极限 syms x b=limit((sqrt(1+x^2)-1)/(1-cos(x)))
syms x a b=limit((1+a/x)^2,x,inf) 2、求导数 syms x dy=diff(log((x+2)/(1-x)),3) dy=simplify(dy) %对符号函数进行化简 pretty(dy) %分数线居中显示,这部一般不需要 差分: a=[0,0.5,2,4]; da=diff(a) 3、求极值 syms x y=x^3+6*x^2+8*x-1; dy=diff(y); dy_zero=solve(dy) %表达式类型 dy_zero_num=double(dy_zero) %变成数值类型 ezplot(y)
syms x y=x^3+6*x^2+8*x-1; dy=diff(y); dy_zero=solve(dy) %表达式类型 dy_zero_num=double(dy_zero) %变成数值类型 ezplot(y) %符号曲线画图 4、求积分 不定积分: syms x I=int(1/(1+sqrt(1-x^2))) pretty(I) 定积分 (符号解、数值解): 符号解: syms x I=int(cos(x)*cos(2*x),-pi/2,pi/2) 数值解: I=quadl(@(t)(t-3*t.^2+2*t.^3).^(-1/3),eps,0.5) (积分上下限不能为inf,可以不变换而直接设一个很大的数 syms t %不加也可以 I=quadl('(t-3*t.^2+2*t.^3).^(-1/3)',eps,0.5) %后面两项分别为积分上下限,eps认为是0 二重数值积分: I=dblquad(@(x,y)sqrt(1-x.^2-y.^2).*(x.^2+y.^2<=x),0,1,-0.5,0.5) (matlab中的log就是ln 三重数值积分: fun3=@(x,y,z)z.^2*log(x.^2+y.^2+z.^2+1)./(x.^2+y.^2+z.^2+1).*(z>=0&... z<=sqrt(1-x.^2-y.^2)); %...是续航符 I=triplequad(fun3,-1,1,-1,1,0,1) 注意把范围不等式点乘一下,最后的上下限只能为数字 5、级数求和 级数的上下限可以带inf syms n f1=(2*n-1)/2^n; s1=symsum(f1,n,1,inf)
syms n f2=1/n^2 s2=symsum(f2,n,1,inf) 二、matlab绘图命令(《数学建模算法与应用P449》) 1、二维绘图命令 title('my title') xlabel('x-axis label') ylabel('y-scid label') text(x,y,'text for annotation') gtext('text for annotation') grid %网格的打开与关闭 subplot(r,c,p) plot(t,[x1,x2,x3]) plot(t1,x1,t2,x2,t3,x3) plot(x,y,'r-*') 2、显函数、符号函数或隐函数的绘图 function y=Afun1(x); if x<1 y=x+1; else y=1+1/x; end fplot('Afun1',[-3,3]) 匿名函数: Afun2=@(x)(x+1)*(x<1)+(1+1/x)*(x>=1); fplot(Afun2,[-3,3]); 符号函数: ezplot('tan(x)') ezplot('x^2+y^2/4=1') ezplot可以用来绘制隐函数 3、三维图形 三维曲线图:plot3 三维网格图:mesh 三维表面图:surf 1)三维曲线: t=0:pi/50:10*pi plot3(sin(t),cos(t),t); xlabel('sin(t)'),ylabel('cos(t)'),zlabel('t') 2)网格图 clc,clear x=-3:0.1:3;y=-5:0.1:5; [x,y]=meshgrid(x,y); %生成网格数据,自变量 z=(sin(x.*y)+eps)./(x.*y+eps); %为避免0/0,分子分母都加eps mesh(x,y,z); 3)表面图 [x,y]=meshgrid([-3:0.2:3]); z=(sin(x.*y)+eps)./(x.*y+eps); surf(x,y,z); 4)旋转曲面(绕x轴旋转一周所得的图像 x=0:10:600; [X,Y,Z]=cylinder(30*exp(-x/400).*sin((x+25*pi)/100)+130); surf(X,Y,Z) r为母线,n为沿周长的格数 alpha=[0:0.1:2*pi]'; beta=0:0.1:2*pi; x=4*cos(alpha)*ones(size(beta)); y=(5+4*sin(alpha))*cos(beta); z=(5+4*sin(alpha))*sin(beta); surf(x,y,z) emmm,上面这段代码不太理解。。。 下面这段是参数方程的常用画图方法,用函数句柄以及ezsurf完成 x=@(alpha,beta)4*cos(alpha); y=@(alpha,beta)(5+4*sin(alpha)).*cos(beta); z=@(alpha,beta)(5+4*sin(alpha)).*sin(beta); ezsurf(x,y,z) 5、其他二次曲面 (1)旋转单叶双曲面 x=@(s,t)3*sec(s).*cos(t); y=@(s,t)3*sec(s).*sin(t); z=@(s,t)2*tan(s); ezmesh(x,y,z); (2)旋转双叶双曲面 x=@(s,t)3*sec(s); y=@(s,t)3*tan(s).*cos(t); z=@(s,t)2*tan(s).*cos(t); ezmesh(x,y,z); (3)抛物柱面 ezsurf(@(y,z)y.^2,50); (4)椭圆锥面 x=@(s,t)3*tan(s).*cos(t); y=@(s,t)2*tan(s).*sin(t); z=@(s,t)tan(s); ezsurf(x,y,z); (5)椭球面 ellipsoid(0,0,0,3,2,sqrt(6)); 使用matlab内置的绘制椭球的函数 ellipsoid(xc,yc,zc,xr,yr,zr,n),其中: xc,yc,zc分别表示椭球中心的x,y,z坐标。 xr,yr,zr分别表示椭球x,y,z半轴的长度。 n表示绘图时,沿着经度和纬度方向划分的曲面片数量,n越大则数据越密集,曲面越光滑。 (6)马鞍面 ezsurf(@(x,y)x.*y); (7)椭圆柱面 x=@(s,t)3*cos(s); y=@(s,t)2*sin(s); z=@(s,t)t; ezmesh(x,y,z) 4、3-D可视化图形 [x,y,z,v]=flow; isosurface(x,y,z,v);
x=1:20;y=1:10;z=-10:10; [x,y,z]=meshgrid(x,y,z); v=x.^2.*y.*(z+1); isosurface(x,y,z,v); isosurface与ezplot对应,可以绘制三维隐函数图像。ezmesh与ezsurf必须显函数或转化为参数方程。isosurface默认值不确定。 isosurface与ezmesh、ezsurf的作用相同,但是表达式不同。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论