如何让一个表面在极坐标下使用polar3d ?

90(30天)
Hexe
Hexe 2023年6月1日19:40
评论道: 明星黾 2023年6月9日在十一25
你好!我有一个积分函数,我阴谋在极坐标下以固定极角θ(th)。如何编写一个3 d的情节在极坐标下R(角度和th变化)?我使它使用pol2cart,但这并不是最好的方式来呈现结果。如果有人能帮我使用polar3D或这样的情节,这就太好了。谢谢你!
清除所有
s = 3;
n = 1;
r = 1;
t = 0.1;
th = 0:10:360;%角θ
一个= 0:1:360;%角α
b =√2 * n * t;
L =√(4 * t + r ^ 2) / 3);
有趣= @ (k, u, c, a) ((k。^ 2)。* exp (-1.5 * k。^ 2))。* ((u ^ 2)。* (1 u ^ 2)。* exp (- (b。* u)。^ 2)。* (cos (s。*。*。* cos (a) / L)))。* (((cos (c)) ^ 2)。* (cos (k。* sqrt (1 u ^ 2)。* (s。*罪(a)。* cos (th)。* cos (c) + s。*罪(a)。* sin (th)。* sin (c)) /(左))));
f3 = arrayfun (@ (a) integral3 (@ (k u c)乐趣(k u c), 0,正无穷,1,1,0,2 * pi), a);
B = ((6 * sqrt (6) * (B ^ 3)) /(小块土地(B) *(π^ 2)))* (1 - (3 / (2 * B ^ 2)) * (1 - ((2 * B * exp (- B ^ 2)) /(小块土地(B) * sqrt (pi))))) ^ (1);
R = B * f3;
图(3)
极地(右);
这就是它看起来在笛卡尔坐标系在弧度(θ),但它在polar3D应该更好。
2的评论
Hexe
Hexe 2023年6月2日8点
它和我写在固定th工作,例如,当= 30。在这种情况下,我获得了2 d图。当我想做一个变量来做表面,我能做到pol2cart和冲浪。这种方式我获得连接(见下面的代码)的阴谋。但这不是我想要的。我需要一个3 d的情节完全是在极坐标下,笛卡儿。
减少%:sx = * sin ();sy = 0;深圳= * cos (a)
清除所有
s = 3;
n = 1;
p = 0.1;%这是时间
电视= 0:10:360;% 3;%这是极旋转角θ
r = 1;
一个= 0:10:360;
一个函数= ();
电视=函数(电视);
抽搐
k = 1:元素个数(电视)
t =电视(k)
b =√2 * n * p;
L =√(4 * p + r ^ 2) / 3);
有趣= @ (k, u, c, a) ((k。^ 2)。* exp (-1.5 * k。^ 2))。* ((u ^ 2)。* (1 u ^ 2)。* exp (- (b。* u)。^ 2)。* (cos (s。*。*。* cos (a) / L)))。* (((cos (c)) ^ 2)。* (cos (k。* sqrt (1 u ^ 2)。* (s。*罪(a)。* cos (t)。* cos (c) + s。*罪(a)。* sin (t)。* sin (c)) /(左))));
f3 = arrayfun (@ (a) integral3 (@ (k u c)乐趣(k u c), 0,正无穷,1,1,0,2 * pi), a);
B = ((6 * sqrt (6) * (B ^ 3)) /(小块土地(B) *(π^ 2)))* (1 - (3 / (2 * B ^ 2)) * (1 - ((2 * B * exp (- B ^ 2)) /(小块土地(B) * sqrt (pi))))) ^ (1);
R = B * f3;
ta = t *的(大小(电视));
[x, y, z] = pol2cart (R, ta);
X = X (k,:);
:Y (k) = Y;
:Z (k) = Z;
toc %总时间这一点
点燃= toc / k %意味着循环迭代时间
结束
toc
图(2)
surfc (X, Y, Z)
colormap(涡轮)
轴(' = ')
轴(上)
抓住
xc = (0:0.25 * r, r);
yc = (0:0.25 * r, r);
佐= (0:0.25 * r, r);
xr = [0; r] * cos(0:π/ 2 *π);
年= [0;r] * sin(0:π/ 2 *π);
zr = [0; r];
plot3 (xc。’,yc。”,佐。',0(大小(xc))”- k”)
plot3 (xr,年,zr, 0(大小(xr)) - k)
zt型=(0:1:马克斯(电视)”;
zt1 = 1(大小(zt型));
surfc (zt1 * xc(最终,:),zt1 * yc(最终,:),zt型*的(大小(电视))、“FaceAlpha”, 0,“MeshStyle”、“行”)
推迟
文本(xr (2, 1: end-1) * 1.1年(2,1:end-1) * 1.1, 0(1,尺寸(xr, 2) 1),构成(% 3 d°,(0:45:315)),“水平的”,“中心”、“绿色”、“中产”)
文本(的(大小(zt型))* xc(结束,end-10)的(大小(zt型))* yc(结束,end-10), zt型,构成(% .1f, zt型))
toc
TTmin = toc / 60

登录置评。

接受的答案

明星黾
明星黾 2023年6月2日12:35
这需要太长时间运行(花了 336.315050 秒- - - - - - 00:05:36.315049 ——刚才在MATLAB在线)然而,情节上的表面3 d“合成”极坐标轴。相对简单的改变 Z 轴坐标(或完全ellimiinate它们)。最初的问题是极轴的代码是不完整的。现在的作品,因为它在我之前的工作代码。
试试这个,
s = 3;
n = 1;
p = 0.1;%这是时间
电视= 0:10:360;% 3;%这是极旋转角θ
r = 1;
一个= 0:10:360;
一个函数= ();
电视=函数(电视);
抽搐
k = 1:元素个数(电视)
t =电视(k)
b =√2 * n * p;
L =√(4 * p + r ^ 2) / 3);
有趣= @ (k, u, c, a) ((k。^ 2)。* exp (-1.5 * k。^ 2))。* ((u ^ 2)。* (1 u ^ 2)。* exp (- (b。* u)。^ 2)。* (cos (s。*。*。* cos (a) / L)))。* (((cos (c)) ^ 2)。* (cos (k。* sqrt (1 u ^ 2)。* (s。*罪(a)。* cos (t)。* cos (c) + s。*罪(a)。* sin (t)。* sin (c)) /(左))));
f3 = arrayfun (@ (a) integral3 (@ (k u c)乐趣(k u c), 0,正无穷,1,1,0,2 * pi), a);
B = ((6 * sqrt (6) * (B ^ 3)) /(小块土地(B) *(π^ 2)))* (1 - (3 / (2 * B ^ 2)) * (1 - ((2 * B * exp (- B ^ 2)) /(小块土地(B) * sqrt (pi))))) ^ (1);
R = B * f3;
ta = t *的(大小(电视));
[x, y, z] = pol2cart (R, ta);
X = X (k,:);
:Y (k) = Y;
:Z (k) = Z;
toc%总时间这一点
点燃= toc / k%平均循环迭代时间
结束
toc
图(2)
surfc (X, Y, Z)
colormap(涡轮)
轴(“平等”)
轴(“关闭”)
持有
一个函数= (0:2:360);%创建&情节极柱坐标
r = 1;
xc = [0:0.25 * r, r]。' * cos (a);
yc = [0:0.25 * r, r]。' * sin ();
xr = [0; r] * cos(0:π/ 2 *π);
年= [0;r] * sin(0:π/ 2 *π);
plot3 (xc。’,yc。”,0(大小(xc)),“- k”)
plot3 (xr,年,0(大小(xr)),“- k”)
zt型=(0:1:马克斯(电视)”;
zt1 = 1(大小(zt型));
冲浪(zt1 * xc(最终,:),zt1 * yc(最终,:),zt型*的(大小(a)),“FaceAlpha”0,“MeshStyle”,“行”)
持有
文本(xr (2, 1: end-1) * 1.1年(2,1:end-1) * 1.1, 0(1,尺寸(xr, 2) 1),组成(“% 3 d°”(0:45:315)),“水平的”,“中心”,“绿色”,“中间”)
文本(的(大小(zt型))* xc(结束,end-10)的(大小(zt型))* yc(结束,end-10), zt型,组成(“% .1f”,zt型))
toc
TTmin = toc / 60
24日评论

登录置评。

更多的答案(0)

类别

找到更多的在数值类型帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!