Matlab 做三维图像,两个方程有四个未知数,想做一个三维图像,方程如下:

作者&投稿:俎容 (若有异议请与网页底部的电邮联系)
求大神帮忙用MATLAB做出下面方程的三维图像,万分感谢!~

TH是啥值,z值必须是固定的,不然无法绘图。或者是有限的固定取值范围,如0,1,2,3......,这样将绘制关于z的动态图像。下风向x取正,y取正,负值,画出来挺好看的。请确定TH和z?这是第12次遇到这个高斯扩散公式了,每一次还都有些改进啊!

xl和xfcc的取值范围是什么?
固定一个范围会简单很多

Debug了一会儿,不过还是搞定了。为了方便你阅读,也为了方便debug,我写成了嵌套函数的形式。最外层的函数就是myfun,你只要输入特定的x数值,特定的初始值y0,ma,mb,ms(这些你都自己定,随便;ms是迭代步长,ma和mb是变量m的起点和终点,起点终点越远,步长越小,迭代越花时间,但图形越精确)
function output = myfun(x,y0,ma,mb,ms)
m=[ma:ms:mb];
for i=1:length(m)
y(i)=fsolve(@(y) myfun1(x,y)-m(i),y0,optimset('Display','off'));
z(i)=myfun2(x,y(i));
end
output.y=y;
output.z=z;
output.plot=plot3(m,y,z);
grid on;
xlabel('x')
ylabel('y')
zlabel('z')
这是第一个函数文件,保存为myfun.m到当前目录;
function m = myfun1(x,y)
m=x*(1+power(10,9.27-y)+power(10,17.1-2*y)+power(10,15.21-2*y)+...
power(10,16.2-2*y))+2*power(x,2)*(power(10,18.34-2*y)+power(10,16.84-2*y)...
+power(10,16.74-2*y))+3*power(x,3)*(power(10,20.07-2*y)+power(10,17.89-2*y)+...
power(10,16.9-2*y))+4*power(x,4)*(power(10,21.26-2*y)+power(10,18.65-2*y)+...
power(10,16.5-2*y))+5*power(x,5)*(power(10,17.01-2*y)+power(10,18.83-2*y))...
+6*power(x,6)*(power(10,20.04-2*y)+power(10,18.21-2*y));
这是第二个函数文件,命名myfun1.m保存当前目录下;
function z = myfun2(x,y)
z=power(10,14.3-2*y)*(1+power(10,y-10.03)+power(10,3*y-30.67)+...
power(10,3.6-y)+power(10,2*y-20.45)+x*power(10,2.8)+...
power(x,2)*power(10,4.04)+power(x,3)*power(10,5.77)+...
power(x,4)*power(10,6.96)+power(x,5)*power(10,2.71)+...
power(x,6)*power(10,2.74));
这是第三个函数文件,命名myfun2.m保存当前目录下。
运行的时候,命令窗口输入:
clear all
output = myfun(3,1,-1,0.1,1);
即可。我这儿是随便代的自变量数值,这些都可以随便输。变量m, y, z的数值都储存在output变量中,比如查看y, 就:
output.y
三个函数必须在m文件编辑窗口分别输入,存为三个不同的文件,并置于同一目录下方可运行。


市南区19550136451: 如何在matlab中画出三维曲线方程的图. -
老鬼骨肽: plot3(X1,Y1,Z1); 例如plot3(sin(t),cos(t),t)

市南区19550136451: 用什么软件能画出一个两个变量的方程的立体图? -
老鬼骨肽: 你好:用matlab软件如方程z=x^2+y^2代码如下:[x,y]=meshgrid([-10:0.2:10]); z=x.^2+y.^2; surf(x,y,z)图像为:满意请采纳,谢谢~~~

市南区19550136451: 怎么用MATLAB画下面的两个方程图像,要求画在一起 -
老鬼骨肽: 把常数的值贴出来.

市南区19550136451: matlab中求解完方程组后怎样做三维图? -
老鬼骨肽: kc=1.2; %定值 b=5;%定值 k1=@(x,a,af) x(1).*cosd(af).*cosd(af).*(pi*a).^0.5; k2=@(a,af,b) b*sind(af).*cosd(af).*(pi*a).^0.5; f=@(x,a,af,kc,b)[x(2)+acosd((3*k2(a,af,b).^2+k1(x,a,af).*(k1(x,a,af).^2+8*k2(a,af,b).^2).^0.5)./(k1(x,a,af).^2+9*k2(a,af,b).^2))...

市南区19550136451: matlab怎么用三维矩阵画三维图 -
老鬼骨肽: 1、对于三维图形其有x、y、z三个坐标轴,数据也要按三维确定,如图所示,下面是部分单位数据样例. 2、首先需要将数据读取到MATLAB工作空间(workspace)中,使用xlsread()函数即可,使用绝对路径读取,因为不在MATLAB默认...

市南区19550136451: 请问如果要用Matlab作出图中方程所表示的空间三维图像,应该怎么输入指令?万分感谢! -
老鬼骨肽: 三维图形可以用拍plot3函数,plot3(x,y,z);在绘制空间三维图像的时候还会用到网格图,mesh(x,y,z)

市南区19550136451: 如何用MATLAB画函数三维图像 -
老鬼骨肽: 楼上办法可以 但也可以是这样 或许更方便一点 syms x y >> I=100;H=100; >> E=I*H/(x^2+y^2+H^2); >> ezmesh(x,y,E) 把最后一句换成ezmesh(x,y,E,[-10 10 0 10])

市南区19550136451: 如何用matlab画三元函数图像x^2+y^2=4x!!!谢谢 -
老鬼骨肽: 方法一:(二维) >> syms x y; >> ezplot('x^2+y^2=2*x') 此外还可以将之转化为正余弦来做,你自己试一试; (三维:) t=-8*pi:0.5:8*pi; x=cos(x)+1; y=sin(x); plot3(t,x,y) 看来你对建模感兴趣可以加我95925481(注名:建模爱好)

市南区19550136451: matlab中怎样做三维图 -
老鬼骨肽: 三维曲面图,可以用surf或mesh命令;三维曲线图,可以用plot3命令.三维曲面图,案例:xx=linspace(-1,1,50); yy=linspace(-2,2,100); [x,y]=meshgrid(xx,yy); z=x.^2+2*y.^2; surf(x,y,z) 结果:三维曲线图,案例:t=linspace(1,20,1000); xx=cos(t); yy=sin(t); zz=t; plot3(xx,yy,zz) 结果:希望对你有帮助,欢迎交流!参考:http://zhidao.baidu.com/question/304779250949044964

市南区19550136451: 急求,我想请问用MATLAB如何做出2*sqrt(x^2+y^2)+10 - z=0的三维图像? -
老鬼骨肽: 其实就是 z = 2*sqrt(x^2+y^2)+10. 用ezmesh('2*sqrt(x^2+y^2)+10')就可以了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网