使用Matlab绘制三维图像步骤 不要敷衍 如果可以 请绘制Rosenbrock函数

作者&投稿:景杨 (若有异议请与网页底部的电邮联系)
您好,请问用matlab怎么画出rosenbrock曲线三维图~

根据罗森布罗克(rosenbrock)曲线方程,

下面以a=1,b=100为例,说明如何用matlab画出rosenbrock曲线三维图。
a=1,b=100
xa=-2:0.1:2; ya=-1:0.1:3;
[x,y]=meshgrid(xa,ya);
z=(a-x).^2+b*(y-x.^2).^2;
mesh(x,y,z)
xlabel('x');ylabel('y');zlabel('z');
运行后图形为

嗯,应该只有n=2时,这个函数是三维的,取n=2这种情况绘图
clear;
clc;
x1=-20:1:20;
%x1取值
x2=-20:1:20;
%x2取值
[x1,x2]=meshgrid(x1,x2);%划分网格
F=(x1.^2-10*cos(2*pi*x1)+10).^2+(x2.^2-10*cos(2*pi*x2)+10).^2;%计算F值
surf(x1,x2,F)%%作图
%%%图形大致是这样

不知道你想要的是不是这样。。。。。

把这个文件存到一个createfigure.m文件中,运行一下就行了。这个注释挺全的吧?而且画出来的就是rosenbrock函数。有不明白的再问吧~

function createfigure
% Create figure
figure1 = figure('Position',[10 40 1200 600]);
colormap('gray');
axis square;
R=0:.002:1;
TH=2*pi*(0:.002:1);
X=R'*cos(TH);
Y=R'*sin(TH);
Z=log(1+vrosenbrock(X,Y));
% Create subplot
subplot1 = subplot(1,2,1,'Parent',figure1);
view([124 34]);
grid('on');
hold('all');
% Create surface
surf(X,Y,Z,'Parent',subplot1,'LineStyle','none');
% Create contour
contour(X,Y,Z,'Parent',subplot1);
% Create subplot
subplot2 = subplot(1,2,2,'Parent',figure1);
view([234 34]);
grid('on');
hold('all');
% Create surface
surf(X,Y,Z,'Parent',subplot2,'LineStyle','none');
% Create contour
contour(X,Y,Z,'Parent',subplot2);
% The function vrosenbrock, used in createfigure, calculates Rosenbrock's function at a whole vector of points:

function z=vrosenbrock(x,y)
z=100*(y - x.^2).^2 + (1-x).^2;

本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!




matlab如何绘制曲线?
有以下方法:1.我们需要对matlab有一个初步的了解后,才可能完成后续的步骤,例子如下:2.现在我们需要把图形隐藏起来,也就是不主动弹出图形窗口,这一步需要我们了解相关的函数句柄的知识,具体看图:3.在上一步中,函数图形的可见性(visible)已经关闭(off),也就是被隐藏起来了,接着我们得把plot...

matlab画线的命令是什么?
水平线:plot([xmin,xmax],[a,a]);垂线: plot([b,b],[ymin,ymax]);xmin,xmax,ymin,ymax 分别是水平线和垂线的起点和终点。matlab中画线使用plot(a,b,c,d,e)函数,其中参数a是x坐标的范围,可以的数字也可以是一个函数表达式。参数b表示y坐标的范围,可以是数字也可以是函数表达式,...

用matlab实现这个绘图,程序是什么?
从图像可知,这两条曲线分别是sin(x),cos(x)。实现这两条曲线的绘制可以这样编写其代码:x=0:pi\/10:4*pi; %生成x向量组,其范围从0到4π,步长为pi\/10 y1=sin(x); %计算正弦函数值 y2=cos(x); %计算余弦函数值 plot(x,y1,'--',x,y2,'-') %绘制正弦函数和余弦函数曲线...

如何用MATLAB绘制二维图形
二维图形绘制是MATLAB语言处理图形图像的基础,可以利用MATLAB绘制绝大多数二维图形,如正弦曲线、指数函数等等。绘制正弦曲线y=sinx,其中x{-pi,2pi}。在MATLAB中输入clc,clear两条命令。清空工作空间与命令窗口后,输入x=[-pi:pi\/100:2*pi]';y=sin(x);输入plot(x,y)绘制图形。绘制y=1+e^x图形...

如何用matlab直接画图-matlab如何描点画图
如何用matlab统计数据中各个数值的个数并绘图?1、打开MATLAB软件,准备开始作图。方法一:1、在命令窗口,编写离散点向量,例如离散点(X,Y),X=[1357293628],Y=[214561525710],如果我们直接采用Plot作图,画出来的是折线。2、对Plot显示样式进行设置,如:plot(X,Y,'k*'),'k'表示显示黑色颜色,'*'表示...

如何在matlab里面绘制二维曲线?
在Matlab中,有多种方法可以在同一坐标轴上绘制多条二维曲线。以下是几种常用的方法:使用plot函数:使用多次plot函数调用来绘制多条曲线。每次调用plot函数时,指定不同的数据点作为曲线的 x 和 y 值。例如:x1 = 0:0.1:2*pi;y1 = sin(x1);x2 = 0:0.1:2*pi;y2 = cos(x2);plot(x1...

MATLAB怎么绘制多子图?
多子图:MATLAB允许用户在同一个图形窗里布置几幅独立子图,命令如下:subplot(m,n,k) 使m×n幅子图的第k幅成为当前图;subplot('position',[left bottom width height])指定位置绘子图,成为当前图。例多子图绘制曲线:clf;t=(pi*(0:0.001:1))';y1=sin(t); y2=sin(10*t); y12=sin(t...

如何在MATLAB中绘制三角函数图像?
三角函数的图像可以通过以下几种方式来绘制:1. 使用几何画板:几何画板是一种数学绘图工具,可以用来绘制三角函数的图像。在几何画板中,可以通过输入函数的表达式,然后选择适当的函数类型,就可以绘制出三角函数的图像。2. 使用MATLAB:MATLAB是一种科学计算软件,可以用来绘制三角函数的图像。在MATLAB中,...

Matlab怎么画点
1、首先在电脑中找到Matlab图标,打开Matlab软件。2、进入Matlab后,打开文本编辑器,如下图所示。3、如果只是画点,其他全部使用默认属性,使用plot(x,y)即可。其中x为横坐标,y为纵坐标,使用横坐标为2,纵坐标为3的点,故使用plot(2,3)。4、这时通过plot的属性设置,可以改变点的形状和色彩,具体...

MATLAB如何画图?
ezplot('x^2',[1,9]),回车 就会出现如图曲线,命令 ezplot('x^2',[1,9])中,x^2代表要绘制的浮点函数,[1,9]代表函数区间。另外MATLAB还可以进行三维绘图,网格曲线绘图以及空间曲面绘图等,help中提供了每一种作图方式的句柄示例。 如果以上经验有用,请点击下方的有用按钮支持我的工作!

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

侯马市15034941708: matlab 怎么用二维矩阵画三维图 -
年松洛意: 1、可以使用内置的reshape函数2、 reshape把指定的矩阵改变形状,但是元素个数不变,例如,行向量:a = [1 2 3 4 5 6] 执行下面语句把它变成3行2列:b = reshape(a,3,2) 执行结果:b =1 42 53 6 觉得有帮助就采纳吧

侯马市15034941708: 如何用matlab绘制三维地形图 -
年松洛意: 用matlab画地形图,包括三维地形图以及平面热度图的方法.参考代码如下: [plain] view plain copy 在CODE上查看代码片派生到我的代码片 temp1=xlsread('cumcm2011','附件1'); x=temp1(:,2);y=temp1(:,3);%数据格式均为列向量 alti=temp1(:,...

侯马市15034941708: 如何绘制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) 结果:

侯马市15034941708: matlab如何绘制三维曲面图 -
年松洛意: 三维曲面图,可以用surf或mesh命令;三维曲面图,案例: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) 结果:参考:http://zhidao.baidu.com/question/304779250949044964 希望对你有帮助,欢迎交流!

侯马市15034941708: 用matlab画二维三维图基本方法 -
年松洛意: 二维的: 1、如果是利用离散点来画图,那么用plot命令 2、如果是利用函数表达式画图,那么永ezplot命令 三维的,plot3命令

侯马市15034941708: 如何用matlab绘制三维直方图 -
年松洛意: 用matlab绘制三维直方图,可以用bar3()函数解决.例如 Y = cool(7); bar3(Y,'detached') title('Detached')

侯马市15034941708: 如何使用MATLAB对任意三维数据绘制三维曲面 -
年松洛意: 方法:将两组数据运用拟合的方法得到关于第三组数据的回归方程,通过回归方程和meshgrid扩充数据点. 工具:Matlab2011a 实例: (1)数据列: K/NM/° C/NMS/° At/NM 10 0.1 128 20 0.2 260 30 0.3 393 40 0.4 531 50 0.5 672 60 0.6 815 ...

侯马市15034941708: matlab画三维图 -
年松洛意: surf 或 mesh 命令,也可以用CONTOUR, 不过不是三维的是梯度图,具体语法参考帮助.

侯马市15034941708: matlab画三维立体图 -
年松洛意: 用surf函数:t=linspace(0,pi,25); p=linspace(0,2*pi,25); [theta,phi]=meshgrid(t,p); x=sin(theta).*sin(phi); y=sin(theta).*cos(phi); z=cos(theta); surf(x,y,z); axis equal;

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