如何用matlab画三条曲线合成图

作者&投稿:源忽 (若有异议请与网页底部的电邮联系)
如何用matlab画有效前沿曲线~

根据你的描述:
可以用frontcon(),也可以甩portopt(),两者有相同点也有不同点,函数具体用法可以查看帮助文档 。

plotyy函数只是有两个不同的纵轴,而横轴是一致的。
题主的要求是希望横轴、纵轴都不同,这应该没有现成的函数可用,只能是自己参照plotyy函数的思路来写代码。
由于不需要考虑两个坐标轴的范围及网格对齐问题,其实代码并不难写,比plotyy函数本身要简单很多。
基本思想是,用两个位置完全相同的坐标系叠加,其中第二个坐标系的颜色设为'none'(无填充色),并设置XAxisLocation、YAxisLocation分别为right和top。

参考代码(在题主贴出的代码之后):
co = get(gcf,'defaultaxescolororder');ax(1) = newplot;set(gcf,'nextplot','add')h1=plot(x1,y1,'o',x11,y11,'-','color',co(1,:));hold onh2=plot(x2,y2,'x',x22,y22,':','color',co(1,:));set(ax(1),'box','off')set(ax(1),'xcolor',co(1,:),'ycolor',co(1,:))xlabel('F/N')ylabel('V/ m/s')% Plot second plotax(2) = axes('position',get(ax(1),'position'));h3=plot(x3,y3,'s',x33,y33,'color',co(2,:))set(ax(2),'XAxisLocation','top','YAxisLocation','right', ... 'xgrid','on','ygrid','on','box','off','color','none');set(ax(2),'xcolor',co(2,:),'ycolor',co(2,:))xlabel('w/ 度/s')ylabel('V / m/s')legend([h1(2) h2(2) h3(2)],'x11-y11','x22-y22','x33-y33',2)需要注意的是,由于需要把曲线的颜色设为和坐标轴颜色一致(以区分哪条曲线和哪个坐标系对应),曲线的区分可以使用线型(LineStyle)、标记(Marker)和线宽(LineWidth),但不宜使用不同颜色(Color)。


最后,关于处理复杂的数据并制图用matlab好,还是excel好的问题,其实是见仁见智的。每个软件都会有自己的优势,关键看使用者的熟悉程度和偏好。就我个人的体会来说,MATLAB总体上更强大,数据处理和绘图可以通过编程实现,相对而言自动化程度更高一些,但要想深入掌握也是需要花费不少时间的;Excel界面更友好,交互性更强,对于绘制的图形可以通过交互的方式做各种修饰,而如果希望实现自动化,也在一定程度上可以利用VBA完成。总之,可以根据要解决的问题和自己的知识结构,选择适当的工具。

画合成图有两种方法

  1. 用plot一次画图

    例程:x = 1:100;

    y1 = sin(2*pi*100*x);y2 = sin(2*pi*50*x);y3 = sin(2*pi*300*x);

    plot(x,y1,x,y2,x,y3);

  2. 用hold on分次叠加画图

    例程:x = 1:100;

    y1 = sin(2*pi*100*x);y2 = sin(2*pi*50*x);y3 = sin(2*pi*300*x);

    plot(x,y1);

  3. hold on;

       plot(x,y2);

       plot(x,y3);



>> x=0:pi/100:pi;
>> y1=sin(x);
>> y2=sin(x).*sin(10.*x);
>> y3=-sin(x);
>> plot(x,y1,x,y2,x,y3)

你看,这样就可以画三条曲线在一幅图了,应该能看懂上面的内容吧~~~如果不明白我还可以细说

什么意思?没看懂。

画什么图?说清楚点


用MATLAB设计程序实现气体状态方程,要求:能实现等温、等容、等压时气...
2017-07-03 求教如何用matlab画气体范德华状态方程图 6 2015-02-07 在图8-3-11中,不能反映理想气体经历了等温变化→等容变化... 2015-05-14 高中物理气体方程,什么时候为等容,什么时候为等压,什么时候为... 14 2011-10-04 高二理想气体等容等温等压变化判断 物理高手请进 50 2017-10-29 什么...

matlab有什么用
MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据...

...其中a,b是已知常数,怎么用matlab画出y关于x变化的图像?想要寻找Y在...
...+n^x)>> plot(x,y)%%x和y是一一对应的关系,所以找到y最大时的列号,那么x的取值就是该列号对应的元素。>> [m,n]=find(y==max(y))%%画出的图像是单峰值,是最大值,不是最小值。m = 1 n = 33%%最大值的列号 >> x=x(n)x = 0.2400%%y最大时对应的x ...

怎么用matlab旋转曲线?
没有太多的使用限制。关键有两点:第一、旋转轴两边都有曲线的时候,先要将旋转轴左边的那一部分镜像到右边,整合起来计算旋转部分。如下图,需要旋转的是右边红加绿的块。至于其曲线分段什么的,就得分段计算了。第二、无论何时都要计算实际旋转的那一部分的高度。这个2πxf(x) dx的f(x),不如...

matlab 用imhist画直方图时,如何给直方图设置颜色?
h = findobj(gca,'Type','line')set(h,'Color','r')如果是柱形图用 h = findobj(gca,'Type','patch');set(h,'FaceColor','r')

matlab实验,急啊!!!
ode45求解。http:\/\/zhidao.baidu.com\/question\/238873128.html#here 追问 这个我们要求用MATLAB做,帮帮忙吧 回答 Author:wacs5 Date:20110317(YYYYMMDD)针对:http:\/\/zhidao.baidu.com\/question\/238873128.html#here 问题提出:在正方形的四个顶点各有一个人,在某一时刻,四个人同时出发以匀速按顺...

matlab sphere函数 画球问题
t是用来定义画球面时点的颜色,你的程序里t = p也就是颜色由P来决定,就是三维图形里面点的纵轴(z轴)的绝对值决定。同心圆程序如下:clc,clear all;figure (1)[m,n,p]=sphere(50);t=abs(p);surf(m,n,p,t);hold on;mesh(2*m,2*n,2*p),colormap(hot);hold off;hidden off axis...

帮忙写个Matlab小程序
6 MATLAB也可对图形加上各种注解与处理:(见上表)xlabel('x轴'); % x轴注解 ylabel('y轴'); % y轴注解 title('余弦函数'); % 图形标题 legend('y = cos(x)'); % 图形注解 gtext('y = cos(x)'); % 图形注解 ,用鼠标定位注解位置grid on; % 显示格线7画椭圆 a = [0:pi\/50:2*pi]'...

Matlab如何建立三维模型进行有限元计算吗
就我目前看来,Matlab编程计算有限元,对于一维梁模型,二维板模型,几何模型简单的三维模型,可以编程计算。但是对于几何形状稍微复杂且不可简化的三维模型,很遗憾,基本不可能实现手动编程。第一步划分网格节点编号,工作量和复杂程度成指数形式增加。更不用说稀疏矩阵及其运算求解,非专业人士真是搞不定。

matlab中y 是什么意思
无论在何种情况下,y都是可以修改和控制的。通过修改变量x或参数,可以改变y的计算结果。因此,对于任何一个使用matlab的用户来说,理解y的含义和作用是非常重要的。首先,需要了解y变量所代表的意义,才能对y进行操作。对于因变量或响应变量y,在matlab中,有很多内置函数可以用来计算和控制y的数值和表现...

集美区15818222222: 用matlab怎么将三条曲线画在一张图中,比如y=x,y=2x,y=3x -
酉琛盐酸:[答案] >> a=-10:.1:10; >> xx=2*a; >> x=a; >> xxx=3*a; >> plot(a,xx,a,x,a,xxx) 这样就可以了

集美区15818222222: matlab: 怎样将多幅曲线图叠加得到一副新的曲线图 -
酉琛盐酸: 例如你要将sinx,cosx,sinxcosx三幅图画在一起.比较简单的可以用excel; 用matlab的话,方法一见下: >>x=0:0.01:2*pi; >>y1=sin(x);y2=cos(x);y3=sin(x).*cos(x); >>plot(x,y1,'*-',x,y2,'o-',x,y3,'.-') 如果采用hold on命令和hold off命令的话,如下: >...

集美区15818222222: matlab中如何把多条曲线画在一个图中? -
酉琛盐酸: 例如 x=1:10; y1=x.*x; y2=x.*x.^0.5; plot(x,y1,'o-',x,y2,'*-')

集美区15818222222: 怎样用matlab将几条曲线画在一个图上 -
酉琛盐酸: fs=100; t = -1:.1/fs:1; y1=sin(2*pi*t); y2=cos(2*pi*t)plot(y1); hold on plot(y2,'r'); 这样两条曲线就画出来了,为了区分,第二条我用了红色

集美区15818222222: 在matlab中怎么将几条拟合好的曲线放在同一个图中? -
酉琛盐酸: 在matlab中将几条拟合好的曲线放在同一个图中的方法是: 老版本的cftool可以直接点击“newfit” 导入数据并在同一幅图里拟合,如果你的matlab比较新,就用 cftool-v1 打开老版本的cftool.MATLAB的介绍是: MATLAB是matrix&laboratory两...

集美区15818222222: MATLAB中在一个图上怎样进行多条曲线的拟合? -
酉琛盐酸: >> x=0:pi/5:2*pi; >> y=sin(x); >> plot(x,y,'-*') %取y=sin(x)的几个数据点,画出来. >> hold on; >> p=polyfit(x,y,5) %把这些点拟合成5次多项式,p是多项式的系数. p = -0.0055 0.0862 -0.3878 0.2503 0.9018 0.0010 >> x1=0:pi/50:2*pi; %然后在拟合多项式上取很多点,把拟合线画出来. >> y1=polyval(p,x1); >> plot(x1,y1,'r'); >> 用hold on 把两条线显示在一个图中.

集美区15818222222: matlab如何在一个坐标里拟合多条曲线 -
酉琛盐酸: 你的意思是在一个张图上画多条曲线吗,可以用hold on命令,例如 plot([1 2 3 4],[5 6 7 8],'r-') hold on%多重画图开关 plot([5 6 7 8],[1 2 3 4],'go-') hold off%关闭多重画图 legend('曲线1','曲线2')

集美区15818222222: matlab如何用3组数据绘制三维曲面 -
酉琛盐酸: 3组数据就是曲面的x,y,z坐标,程序根据要求不同而异,程序可这样写: [x,y,z]=meshgrid(linspace(-5,5)); val=(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (1/9)*y.^2.*z.^3;%isosurface(x,y,z,val,0) p = patch(isosurface(x,y,z,val,0)); isonormals(x,y,z,val,p) ...

集美区15818222222: 用matlab 作三维曲线图..高手 进 -
酉琛盐酸: a=[0:0.644*pi/1500:0.644*pi]; y=[0:1:1500]; Z=1/2.*(y.^2.*tan(a))+1/2.*(7330-y).^2.*tan(0.644*pi-a) ; plot3(a,y,Z) 你可以试一下..我不是高手...刚接触matlab

集美区15818222222: 怎么用matlab画三维曲线图 -
酉琛盐酸: 用plot3函数画就可以,我给你举个例子吧,也好久没看matlab了 t=0:0.01:2*pi; x=sin(t); y=cos(t); z=t; plot3(x,y,z,'-r'); 这个例子我也没试,你试试看,三维曲线绘图几本是这样的,当然还有其它的一些绘图函数.

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