MATLAB中一个方程式中我定义了两个变量,为什么画出来的是空间曲线而不是空间曲面啊?
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/08/12 01:21:17
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.
谢谢了
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中一个方程式中我定义了两个变量,为什么画出来的是空间曲线而不是空间曲面啊?](/uploads/image/z/6430708-28-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%3F)
如果要画空间曲面可以尝试使用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));
结果如图:
![](http://img.wesiedu.com/upload/c/98/c98934e17b4398b09ab6cad7c94061e7.jpg)
不过不知道为什么直接改你的程序算出来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));
结果如图:
![](http://img.wesiedu.com/upload/c/98/c98934e17b4398b09ab6cad7c94061e7.jpg)
MATLAB中一个方程式中我定义了两个变量,为什么画出来的是空间曲线而不是空间曲面啊?
怎样用matlab画出空间曲面曲线
求大神帮助使用matlab绘制曲面时,这个程序为什么画出的是一条曲线,而不是一个曲面呢
matlab画出3个空间曲面,我的代码为什么不对啊
C语言中当我定义了一个指针变量的同时,是否就为这个指针变量开辟了一个空间
请教在空间解析几何中f(x,y)=0表示的是一个曲线还是一个曲面
MATLAB求曲面相交所成空间曲线的图形
谁能用matlab画出三个空间曲面
matlab中怎么画出有刻度的空间直角坐标系
如何在proe中利用空间曲线切割曲面?
为什么含有一个参数的的参数方程表示空间曲线?它不能表示空间曲面吗?
数学中空间的定义到底什么是空间,有没有两个空间?