stream3

编辑:禾苗网互动百科 时间:2019-11-18 10:17:36
编辑 锁定
本词条缺少概述名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
中文名
stream3
程序示例
close all; clear; clc;
相关函数
coneplot
语法格式
XYZ = stream3
函数功能
生成3-D流线图数据

stream3函数简介

编辑
函数功能:生成3-D流线图数据。
语法格式:
XYZ = stream3(x,y,z,u,v,w,startx,starty,startz)
生成向量(u,v,w)的流线图数据。(x,y,z)定义了向量(u,v,w)的坐标。(x,y,z)通常是通过调用meshgrid函数生成的网格数据。(startx,starty,startz)定义了流线的起点。这里u、v、w都必须是行列维数相等的三维数组。x、y、z和u、v、w也必须是行列维数相等的。
XYZ = stream3(u,v,w,startx,starty,startz)
这种调用格式等价于以下:
>>[m,n,p] = size(u);
>>[x,y,z] = meshgrid(1:n,1:m,1:p);
>>XYZ = stream3(x,y,z,u,v,w,startx,starty,startz);
XYZ = stream3(...,options)
options指定绘制流线图时的一些选项。
这样生成流线图数据后, 就可以使用streamline(XYZ)来绘制出流线图。
相关函数:coneplot, stream2, streamline

stream3程序示例

编辑
下面这个程序绘制了一个单位正电荷的三维电场线分布图:
close all; clear; clc;
% 在二维平面上绘制一个正电荷的电场线图。
k = 8.9875e+9; % 比例系数
e = 1.602e-19; % 带电量
e_r = 2.8e-15; % 电荷的半径
ke = k .* e; % k by e
% 指定区间: d=<x,y<=d,并生成网格数据
d = -e_r*40:e_r:e_r*40;
[x, y, z] = meshgrid(d, d, d);
% 计算电位
V = ke ./ sqrt(x.^2 + y.^2 + z.^2);
V_max = ke / e_r; % 正电荷的表面电势最大,无穷远处电势为0
V(V==Inf) = V_max; V(V>V_max) = V_max;
% 求电势的梯度,即电场强度
[E_x, E_y, E_z] = gradient(-V);
% 绘制电场线分布
t = -pi:2*pi/2:pi;
[sx, sy, sz] = meshgrid(t, t, t);
sx = e_r * sx;
sy = e_r * sy;
sz = e_r * sz;
hold on; grid on; view(3);
plot3(0, 0, 0, 'r+', 0, 0, 0, 'ro', 'MarkerSize', 10, ...
'MarkerEdgeColor', 'r', 'MarkerFaceColor', 'w');
% 下面这两行代码等效于streamline(x, y, z, E_x, E_y, E_z, sx, sy, sz)
XYZ = stream3(x, y, z, E_x, E_y, E_z, sx, sy, sz);
streamline(XYZ);
xlabel('X'); ylabel('Y'); zlabel('Z');
axis equal, axis off; hold off;
词条标签:
计算机学