想用MATLAB画出下面函数的三维图像,求大神帮忙编写程序!!

power(10,3.6-y)+powe用Excel绘制函数图像r(10,2y-20.45)+xpower(10,2.8)+...end

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

这是第三个函数文件,命名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 1

y=-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;伙伴们快去试试吧。