三维函数图像生成器_三维函数绘图在线
想用MATLAB画出下面函数的三维图像,求大神帮忙编写程序!!
power(10,3.6-y)+powe用Excel绘制函数图像r(10,2y-20.45)+xpower(10,2.8)+...endMatlab 做三维图像,两个方程有四个未知数,想做一个三维图像,方程如下:
这是第三个函数文件,命名myfun2.m保存当前目录下。Debug了一会儿,不过还是搞定了。为了方便你阅读,也为了方便debug,我写成了嵌套函数的形式。最外层的函数就是myfun,你只要输入特定的x数值,特定的初始值y0,ma,mb,ms(这些你都自己定,随便;ms是迭代步长,ma和mb是变量m的起点和终点,起点终点越远,步长越小,迭代越花时间,但图形越)
三维函数图像生成器_三维函数绘图在线
三维函数图像生成器_三维函数绘图在线
下图对应为yz坐标轴的数据及其图像,通过对比我们发现这和excel完全一致;
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','offsubplot(122)'));
output.z=z;
output.plot=plot3(m,y,z);
grid on;
zlabel('z')
function m = myfun1(x,y)
+power(10,16.74-2y))+ower(x,3)(power(10,20.07-2y)+power(10,17.89-2y)+...
power(10,16.9-2y))+4power(x,4)(power(10,21.26-2y)+power(10,18.65-2y)+...
power(10,16.5-2y))+5power(x,5)(power(10,17.01-2y)+power(10,18.83-2y))...
+6power(x,6)(power(10,20.04-2y)+power(10,18.21-2y));
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));
运行的时候,命令窗口输入:
clear all
output = myfun(3,1,-1,0.1,1);
即可。我这儿是随便代的自变量数值,这些都可以随便输。变量m, y, z的数值都储存在output变量中,比如查看y, 就:
output.y
三个函数必须在m文件编辑窗口分别输入,存为三个不同的文件,并置于同一目录下方可运行。
你好! 有个问题想请教,关于Matlab的,利用不同颜色的曲线绘制三维图像函数。
syms表示定义为符号end变量。>> z=x.^2+y.^2;
这样就可以function z = myfun2(x,y)画出绿色的三维图了
提醒一下:
哪个软件可以绘制三维坐标图?
for m=1:length(x)OFFICE软件里的Excel就可以,数据——这是第二个函数文件,命名myfun1.m保存当前目录下;数据表和数据图。
OFFICE软件里的VISIO可以
Microsoft Off这是第三个函数文件,命名myfun2.m保存当前目录下。 Visio
很方便
3d max 因该可以!
VISIO ,excel 都不错
如何用matlab中griddata函数来画出三维图像?
如果点,实际就是由一系列具体数据,作为x坐标,经过函数计算得出结果作为y坐标,在坐标轴中确定一个点,由此得出一系列点连接起来便形成曲线。应用较广且作简便的便是Excel了y=[];
z=[];
splot3(x.y,z,'r-');要把x.y之间标点改为逗号,ubplot(121)
plot3(x,y,z);
[xx,yy]=meshgrid(x,y);
zz=griddata(x,y,z,xx,yy);
mesh(xx,yy,zoutput.y=y;z)
想用Matlab画出下面中函数的三维图像,求大神帮忙编写程序!!!
power(10,16.2-2H=100;y))+2power(x,2)(power(10,18.34-2y)+power(10,16.84-2y)...首先,用solve函数解出p2,p3(或p0,p1)中任意两个变量
其二,将p2,p3(或p0,p1)的解,代入P表达式中,得到含有两个变量的表达式,即
P(p0,p1)
其三,确定p0,p1的取值范围,并对其二维数据网格化(meshgrid)
其四,计算P值,如 P(p0,p1)=-(4p0^4p1^2(p0^2 + p1^2 - 1))/(p0^2 + p1^2)
其五,用surf函数绘出其三维曲面图,即
s题主的问题可以这样来考虑:urf(p0,p1,P)
用matlab画三维函数图像
xlabel('x')I=100;
z=power(10,14.3-2y)(1+power(10,y-10.03)+power(10,3y-30.67)+...E=IH./(x.^2+y.^2+H^2);
meshylabel('y')(x,y,E)
mesh是画三位网格图。
matlab做已知函数的三维图?
z(i)=myfun2(x,y(i));以下是代码,请采纳!
case 1y=-1000:100:1000;
>> [x y]=meshgrid(-100:100);z = zeros(length(y), length(x));
for n=1:length(y)
z(n,m) = 2cos(piy(n)/2/1000).cos(pix(m)/2/500);
mesh(x,y,z);
如何利用Mathematica将excel数据作三维图
[x,y]=meshgrid(-10:.1:10);首先将excel三维图表数据点按照x,y,z三个坐标轴分别按三行排列好,如下图所示;
xlabel('x')2我们可以直接使用excel的插入图表功能先观察一下excel绘制的图表,就能发现excel可以分别对xy,yz,xz三组数据画出很优美的二维图表,然而三维数据图表却无能为力;
3现在打开mathematica,输入代码:
Clear["Global`"]
i = Import["G:dzwSubjectsFreeWakeDatawakexyz.xlsx"]
通过观察我们发现该导入数据由mathematica转化成了矩阵的形式保存,但是多出了{x,y,z}这一项;
于是我们通过提取该数据项以后的数据来构建一个新的矩阵,代码为:excel = Table[excel0[[1, i]], {i, 2, excelN}]
其中excelN为excel数据列长度;
将上述矩阵转置,我们就能得到其转置矩阵并能够分别提取出x,y,z三列数据,就和在excel文档中的数据一致;
接下来我们就先来看看每个对应的二维图例是否和excel一致,分别用Table函数提取对应坐标数据,并用ListLinePoint函数作图,下图所示为xy坐标轴数据及其图像;
下图对应为xz坐标轴数据及其图像
我们发现该图太小不利于查看,所以我选取新的代码,将图中点变大,图形放大,简化风格以利于查看,具体代码为:
ListPointPlot3D[excel, PlotTheme -> "Business",
PlotStyle -> PointSize[Large], ColorFunction -> "DarkRainbow",
;我们可以方便的查看该图形的三维视图,如下图所示;
,从便于观察的角度来说,我们还可以利用ListSucePlot3D函数绘制三维数据的曲面图形,更明朗的看出数据变化趋势,代码具体为:
ListSucePlot3D[excel, Mesh -> Automatic,
MeshStyle ->
Directive[GrayLl[0], Opacity[1.], AbsoluteThickness[1.87]],
ImageSize -> Full, ColorFunction -> "DarkRainbow"]
,最终效果如图所示,这样我们excel数据的三维图做出来了吧,很简单高效吧,小x=-500:100:500;伙伴们快去试试吧。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。