赞
踩
例3代码:
clc; clear ; close all; % // 定义x的范围 x = linspace(0, 5, 100); % // 计算y1和y2的值 y1 = x - 2; y2 = sqrt(x); y3 = -sqrt(x); % // 绘制函数图像 plot(x, y1, 'b', 'LineWidth', 2); % y=x-2 hold on; plot(x, y2, 'r', 'LineWidth', 2); % y=sqrt(x) plot(x, y3, 'r', 'LineWidth', 2); % y=-sqrt(x) % // 添加轴标签及标题 xlabel('x'); ylabel('y'); title('Graph of y^2=x and y=x-2'); % // 添加图例,并设置位置 legend('y=x-2','y^2=x','Location','northwest'); % // 设置坐标轴范围 axis([0 5 -2.5 2.5]); % 声明符号变量 syms x y % 解方程组 sol = solve(y^2 - x == 0, y - x + 2 == 0); % 绘制 y1 和 y2 曲线围成的封闭区域并添加阴影 fill([ 0:0.01:sol.x(1), ... sol.x(1):0.01:sol.x(2), ... sol.x(2):-0.01:0],[ -sqrt(0:0.01:sol.x(1)),(sol.x(1):0.01:sol.x(2))-2, ... sqrt(sol.x(2):-0.01:0) ], 'b', 'FaceAlpha', 0.2) % // 关闭绘图模式 hold off;
例4的代码:
clc; clear ; close all; % ---------------- 1.先画第一个圆柱面 ----------- % 定义圆柱体的底面圆的半径 R = 1; % 定义圆柱面的参数方程 theta = linspace(0, 2*pi, 50); z = linspace(-1, 1, 15); [THETA,Z] = meshgrid(theta,z); X = R*cos(THETA); Y = R*sin(THETA); figure; mesh(X,Y,Z); axis equal; xlabel('x'); ylabel('y'); zlabel('z'); title('圆柱体'); hold on; % -------------- 2.再画第二个 -------------- % 定义圆柱体的底面圆的半径 R = 1; % 定义圆柱面的参数方程 theta = linspace(0, 2*pi, 50); y = linspace(-1, 1, 15); [THETA,Y] = meshgrid(theta,z); X = R*cos(THETA); Z = R*sin(THETA); mesh(X,Y,Z); hold off;
画极坐标网格的代码:
clc;
clear ;
close all;
% 画射线的数据
theta1 = ones( length(0:0.2:4),1 ) * linspace(0, 1/2*pi, 20);
r1 = (0:0.2:4).' * ones(1,20);
% 画弧线的数据
theta2 = linspace(0, 1/2*pi, 20).'*ones( 1,length(0:0.2:4) );
r2 =ones(1,20).'*(0:0.2:4);
% 绘制网格
figure;
polarplot(theta1,r1,'k'); % 绘制射线
hold on;
polarplot(theta2,r2,'k'); % 绘制弧线
text(0, 5, '\theta = 0', 'HorizontalAlignment', 'center'); % 添加极轴标记
例题中画区域D1、S、D2边界的代码:
clc; clear ; close all; % 参数R R = 2; theta = 0:0.01:pi/2; %第一个1/4圆的数据 半径R x1 = R*cos(theta); y1 = R*sin(theta); %正方形数据 边长R x2 = R*ones(1,10); y2 = linspace(0,R,length(x2));%竖 x3 = linspace(0,R,10);%横 y3 = R*ones(1,10); %第二个1/4圆的数据 半径sqrt(2)*R x4 = sqrt(2)*R*cos(theta); y4 = sqrt(2)*R*sin(theta); % 画图 figure; plot(x1,y1); hold on; plot(x2,y2);plot(x3,y3);plot(x4,y4); xlabel('x'); ylabel('y'); hold off;
例6代码:
clc; clear ; close all; %1.生成球体x^2+y^2+z^2=4a^2的数据,即生成半径为2a的球体 a = 1; % 定义常量a的值 n = 50; % 球体的网格线密度 [x,y,z] = sphere(n);%生成以原点为圆心,半径为1的球体数据 x = 2*a*x; y = 2*a*y; z = 2*a*z; %2.生成球体x^2+y^2=2ax的数据,即生成半径为2a的球体 theta = linspace(0,2*pi,n); z1 = linspace(-2*a-0.4 ,2*a+0.4 ,n); [theta,z1]=meshgrid(theta,z1); x1 = a*cos(theta)+a; y1 = a*sin(theta); %3.画图 mesh(x,y,z); hold on; mesh(x1,y1,z1); title('x^2+y^2+z^2=4a^2 & x^2+y^2=2ax的网格图'); xlabel('x轴'); ylabel('y轴'); zlabel('z轴');
例1的图的代码:
clc; clear ; close all; % 1.面x+2y+z=1 n = 50; x = linspace(-0.2,1.2,n); y = linspace(-0.1,0.6,n); z = linspace(-0.1,1.2,n); [X,Y] = meshgrid(x,y); Z1 = 1-X-2*Y; figure; mesh(X,Y,Z1); hold on; % 2.xoy面 [X,Y] = meshgrid(x,y); Z2 = 0*ones(length(x),length(y)); mesh(X,Y,Z2); % 3.xoz面 [X,Z] = meshgrid(x,z); Y3 = 0*ones(length(x),length(z)); mesh(X,Y3,Z); % 4.yoz面 [Y,Z] = meshgrid(y,z); X4 = 0*ones(length(y),length(z)); mesh(X4,Y,Z); plot3(x,(1-x)/2,0*ones(length(x),1)); plot3(x,0*ones(length(x),1),1-x); plot3(0*ones(length(y),1),y,1-2*y); plot3(x,0*ones(length(x),1),0*ones(length(x),1));%x轴 plot3(0*ones(length(y),1),y,0*ones(length(y),1));%y轴 plot3(0*ones(length(z),1),0*ones(length(z),1),z);%z轴 title('区域Ω的网格图'); xlabel('x轴'); ylabel('y轴'); zlabel('z轴'); hold off; hidden off %打开透视 colorbar(); colormap(jet); %用了 jet 颜色表
例1的计算代码:
clc; clear ; close all; % ------------------ 1.XYZ型 syms x y z; fun = x; % 定义被积函数 xmin = 0; xmax = 1; ymin = 0; ymax = (1-x)/2; zmin = 0; zmax = 1-x-2*y; Q = int(int(int(fun, z, zmin, zmax), y, ymin, ymax), x, xmin, xmax); % 进行三重积分 % disp(rats(Q)); fprintf('XYZ型积分结果为:%s\n',num2str(rats(Q))); %输出结果 % ------------- 2.YXZ型 syms x1 y1 z1; fun1 = x1; % 定义被积函数 xmin1 = 0; xmax1 = 1-2*y1; ymin1 = 0; ymax1 = 1/2; zmin1 = 0; zmax1 = 1-x1-2*y1; Q1 = int(int(int(fun1, z1, zmin1, zmax1), x1, xmin1, xmax1), y1, ymin1, ymax1); % 进行三重积分 % disp(rats(Q1)); fprintf('YXZ型积分结果为:%s\n',num2str(rats(Q1))); %输出结果 % ------------- 3.XZY型 syms x2 y2 z2; fun2 = x2; % 定义被积函数 xmin2 = 0; xmax2 = 1; ymin2 = 0; ymax2 = (1-x2-z2)/2; zmin2 = 0; zmax2 = 1-x2; Q2 = int(int(int(fun2,y2, ymin2, ymax2 ), z2, zmin2, zmax2 ), x2, xmin2, xmax2); % 进行三重积分 % disp(rats(Q2)); fprintf('XZY型积分结果为:%s\n',num2str(rats(Q2))); %输出结果 % ------------- 4.ZXY型 syms x3 y3 z3; fun3 = x3; % 定义被积函数 xmin3 = 0; xmax3 = 1-z3; ymin3 = 0; ymax3 = (1-x3-z3)/2; zmin3 = 0; zmax3 = 1; Q3 = int(int(int(fun3,y3, ymin3, ymax3 ), x3, xmin3, xmax3), z3, zmin3, zmax3); % 进行三重积分 % disp(rats(Q3)); fprintf('ZXY型积分结果为:%s\n',num2str(rats(Q3))); %输出结果 % ------------- 5.YZX型 syms x4 y4 z4; fun4 = x4; % 定义被积函数 xmin4 = 0; xmax4 = 1-2*y4-z4; ymin4 = 0; ymax4 = 1/2; zmin4 = 0; zmax4 = 1-2*y4; Q4 = int(int(int(fun4,x4, xmin4, xmax4 ), z4, zmin4, zmax4 ),y4, ymin4, ymax4); % 进行三重积分 % disp(rats(Q4)); fprintf('YZX型积分结果为:%s\n',num2str(rats(Q4))); %输出结果 % ------------- 6.YZX型 syms x5 y5 z5; fun5 = x5; % 定义被积函数 xmin5 = 0; xmax5 = 1-2*y5-z5; ymin5 = 0; ymax5 = (1-z5)/2; zmin5 = 0; zmax5 = 1; Q5 = int(int(int(fun5,x5, xmin5, xmax5 ),y5, ymin5, ymax5 ),z5, zmin5, zmax5); % 进行三重积分 % disp(rats(Q5)); fprintf('YZX型积分结果为:%s\n',num2str(rats(Q5))); %输出结果
例2的代码:
clc; clear ; close all; % 参数 a = 4;b = 3;c = 5; n = 50;%网格密度 theta = linspace(0,2*pi,n); phi = linspace(0,pi,n); [Phi,Theta] = meshgrid(theta,phi); % 椭球面的参数方程 x = a*sin(Phi).*cos(Theta); y = b*sin(Phi).*sin(Theta); z = c*cos(Phi).*ones(size(Theta)); figure; mesh(x,y,z); xlabel('x轴'); ylabel('y轴'); zlabel('z轴'); hidden off %打开透视 colorbar(); colormap(jet); %用了 jet 颜色表 % z=c1的切面 z1=2; x1 = a*(1-z1^2/c^2)*cos(theta); y1 = b*(1-z1^2/c^2)*sin(theta); figure; plot(x1,y1,'Color',[251 111 66]/255,'LineWidth',1); hold on; fill(x1,y1,[0,0,1],'EdgeColor','none','FaceAlpha',0.05); xlabel('x轴'); ylabel('y轴'); title('z=2的切面'); hold off
例3的代码:
clc; clear ; close all; % 1.z=x^2+y^2的数据 theta = linspace(0,2*pi,100); z = 0:0.05:5; [Theta,z1] = meshgrid(theta,z); x1 = sqrt(z1).*cos(Theta); y1 = sqrt(z1).*sin(Theta); % 2.z=4的数据 x2 = -2.4:0.2:2.4; y2 = -2.4:0.2:2.4; [x2,y2]=meshgrid(x2,y2); z2 = 4*ones(size(x2)); % 3.4=x^2+y^2的数据,为了使图更清楚,可加上这条线 x3 = 2*cos(theta); y3 = 2*sin(theta); z3 = 4*ones(size(theta)); % 4.画图 figure; mesh(x1,y1,z1); hold on; mesh(x2,y2,z2); plot3(x3,y3,z3,'LineWidth',1.5); xlabel('x轴'); ylabel('y轴'); title('区域Ω'); hold off hidden off %打开透视 colorbar(); colormap(jet); %用了 jet 颜色表
例的代码:
clc; clear ; close all; % 1.z=sqrt(x^2+y^2)的数据 theta = linspace(0,2*pi,100); z = 0:0.05:2.4; [Theta,z1] = meshgrid(theta,z); x1 = z1.*cos(Theta); y1 = z1.*sin(Theta); % 2.x^2+y^2+z^2=R^2的数据 为了更好观察,这里只画半个球面 R = 2; phi = linspace(0,pi/2,30); [Theta,Phi] = meshgrid(theta,phi); x2 = R*sin(Phi).*cos(Theta); y2 = R*sin(Phi).*sin(Theta); z2 = R*cos(Phi); % 3.画图 figure; mesh(x1,y1,z1); hold on; mesh(x2,y2,z2); xlabel('x轴'); ylabel('y轴'); title('区域Ω'); hold off hidden off %打开透视 colorbar(); colormap(jet); %用了 jet 颜色表
例3算Mx的代码:
syms x y;
fun = x^2*sin(y); % 定义被积函数
xmin = 2*sin(y);
xmax = 4*sin(y);
ymin = 0;
ymax = pi;
Q = int(int(fun,x, xmin, xmax ),y, ymin, ymax ); % 进行二重积分
fprintf('\tMx积分结果为:\n\t\t');
disp(Q);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。