MATLAB中一个方程式中我定义了两个变量,为什么画出来的是空间曲线而不是空间曲面啊?Z=13;w=10.*pi;B=pi./4;M=1.863;K=0.4367;e=1.75;la=(Z.*e./K).*sqrt(1+K.^2-2.*K.*cos(ta));ua=la.*w.*(2./Z);na=2.2.*M.*10.^3.*((sin(ta)./(sqr
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/10 14:46:52
![MATLAB中一个方程式中我定义了两个变量,为什么画出来的是空间曲线而不是空间曲面啊?Z=13;w=10.*pi;B=pi./4;M=1.863;K=0.4367;e=1.75;la=(Z.*e./K).*sqrt(1+K.^2-2.*K.*cos(ta));ua=la.*w.*(2./Z);na=2.2.*M.*10.^3.*((sin(ta)./(sqr](/uploads/image/z/5582008-64-8.jpg?t=MATLAB%E4%B8%AD%E4%B8%80%E4%B8%AA%E6%96%B9%E7%A8%8B%E5%BC%8F%E4%B8%AD%E6%88%91%E5%AE%9A%E4%B9%89%E4%BA%86%E4%B8%A4%E4%B8%AA%E5%8F%98%E9%87%8F%2C%E4%B8%BA%E4%BB%80%E4%B9%88%E7%94%BB%E5%87%BA%E6%9D%A5%E7%9A%84%E6%98%AF%E7%A9%BA%E9%97%B4%E6%9B%B2%E7%BA%BF%E8%80%8C%E4%B8%8D%E6%98%AF%E7%A9%BA%E9%97%B4%E6%9B%B2%E9%9D%A2%E5%95%8A%3FZ%3D13%3Bw%3D10.%2Api%3BB%3Dpi.%2F4%3BM%3D1.863%3BK%3D0.4367%3Be%3D1.75%3Bla%3D%28Z.%2Ae.%2FK%29.%2Asqrt%281%2BK.%5E2-2.%2AK.%2Acos%28ta%29%29%3Bua%3Dla.%2Aw.%2A%282.%2FZ%29%3Bna%3D2.2.%2AM.%2A10.%5E3.%2A%28%28sin%28ta%29.%2F%28sqr)
MATLAB中一个方程式中我定义了两个变量,为什么画出来的是空间曲线而不是空间曲面啊?Z=13;w=10.*pi;B=pi./4;M=1.863;K=0.4367;e=1.75;la=(Z.*e./K).*sqrt(1+K.^2-2.*K.*cos(ta));ua=la.*w.*(2./Z);na=2.2.*M.*10.^3.*((sin(ta)./(sqr
MATLAB中一个方程式中我定义了两个变量,为什么画出来的是空间曲线而不是空间曲面啊?
Z=13;w=10.*pi;B=pi./4;M=1.863;K=0.4367;e=1.75;
la=(Z.*e./K).*sqrt(1+K.^2-2.*K.*cos(ta));
ua=la.*w.*(2./Z);
na=2.2.*M.*10.^3.*((sin(ta)./(sqrt(1+K.^2-2.*K.*cos(ta)))).^(3./2))./(e.*Z.*(Z+1).*cos(B));
pa=Z.*(e./K).*cos(B).*((1+K.^2-2.*K.*cos(ta)).^(3./2))./(1-K.^2.*Z-K.*(Z-1).*cos(ta))-r.*cos(B).^2;
E=206.*10.^9./1.82;
Etba=1.0003+0.5968.*(pa./(pa+r));
ktba=1.0339.*((1+r./pa).^(0.636));
kxta=(2.*Etba.*ktba.^2./pi).^(1./3);
kyta=(2.*Etba./(ktba.^2.*pi)).^(1./3);
Rxta=(2.*Etba.*ktba.^2./pi).^(1./3).*((3.*na./((4./r+2./pa).*E)).^(1./3));
想画以ta和r为变量,以Rxta为函数的曲面图.
ta的范围是0到pi,r的范围是0到3.
谢谢了
MATLAB中一个方程式中我定义了两个变量,为什么画出来的是空间曲线而不是空间曲面啊?Z=13;w=10.*pi;B=pi./4;M=1.863;K=0.4367;e=1.75;la=(Z.*e./K).*sqrt(1+K.^2-2.*K.*cos(ta));ua=la.*w.*(2./Z);na=2.2.*M.*10.^3.*((sin(ta)./(sqr
如果要画空间曲面可以尝试使用meshgrid / mesh
不过不知道为什么直接改你的程序算出来Rxta里会有复数
而且虚数部分很小,感觉像误差,所以我就用real取了个实数部分
代码如下:
close;clear;clc;
[ta, r] = meshgrid(0:pi/10:pi, 0:0.3:3);
Z=13;
w=10.*pi;
B=pi./4;
M=1.863;
K=0.4367;
e=1.75;
la=(Z.*e./K).*sqrt(1+K.^2-2.*K.*cos(ta));
ua=la.*w.*(2./Z);
na=2.2.*M.*10.^3.*((sin(ta)./(sqrt(1+K.^2-2.*K.*cos(ta)))).^(3./2))./(e.*Z.*(Z+1).*cos(B));
pa=Z.*(e./K).*cos(B).*((1+K.^2-2.*K.*cos(ta)).^(3./2))./(1-K.^2.*Z-K.*(Z-1).*cos(ta))-r.*cos(B).^2;
E=206.*10.^9./1.82;
Etba=1.0003+0.5968.*(pa./(pa+r));
ktba=1.0339.*((1+r./pa).^(0.636));
kxta=(2.*Etba.*ktba.^2./pi).^(1./3);
kyta=(2.*Etba./(ktba.^2.*pi)).^(1./3);
Rxta=(2.*Etba.*ktba.^2./pi).^(1./3).*((3.*na./((4./r+2./pa).*E)).^(1./3));
mesh(ta, r, real(Rxta));
结果如图: