找回密码
 注册
Simdroid-非首页
查看: 139|回复: 7

新手请教有关ezplot的绘图问题

[复制链接]
发表于 2010-9-20 14:30:22 | 显示全部楼层 |阅读模式 来自 湖南长沙
x=sqrt(9+0.9*(5*(y^2+1/16)+sqrt((5*y/8).^2-0.05
x=sqrt(9+0.9*(5*(y^2+1/16)-sqrt((5*y/8).^2-0.05
x=sqrt(9+0.9*(5*(y^2+9/16)+sqrt((45*y/8).^2-0.05
x=sqrt(9+0.9*(5*(y^2+9/16)-sqrt((45*y/8).^2-0.05
各位高手好:
       我想把这四个方程的图画在同一张图上,并且用legend把四条曲线的颜色和线的属性区分开来!特请教各位大虾!!!再次感谢!
发表于 2010-9-20 14:43:35 | 显示全部楼层 来自 黑龙江哈尔滨
Simdroid开发平台
用hold on就可以了,具体做法可以搜索一下以前的贴子。
回复 不支持

使用道具 举报

发表于 2010-9-20 15:36:40 | 显示全部楼层 来自 河北廊坊
  1. clear;clc;close all
  2. n=100;m=4;
  3. y=linspace(0,1);
  4. x(n,4)=0;
  5. x(:,1)=sqrt(9+0.9*(5*(y.^2+1/16)+sqrt((5*y/8).^2-0.05)));
  6. x(:,2)=sqrt(9+0.9*(5*(y.^2+1/16)-sqrt((5*y/8).^2-0.05)));
  7. x(:,3)=sqrt(9+0.9*(5*(y.^2+9/16)+sqrt((45*y/8).^2-0.05)));
  8. x(:,4)=sqrt(9+0.9*(5*(y.^2+9/16)-sqrt((45*y/8).^2-0.05)));
  9. set(0,'DefaultAxesColorOrder',rand(m,3));
  10. set(0,'DefaultAxesLineStyleOrder','-o|--s|:d|-+');
  11. plot(real(x),repmat(y',1,m));
  12. legend(cellfun(@num2str,num2cell(1:m),'UniformOutput',false),'Location','best');
  13. set(0,'DefaultAxesLineStyleOrder','remove')
  14. set(0,'DefaultAxesColorOrder','remove')
复制代码
回复 不支持

使用道具 举报

发表于 2010-9-20 16:01:55 | 显示全部楼层 来自 河北廊坊
如果用ezplot的话

  1. m=4;hold on
  2. h(1)=ezplot('sqrt(9+0.9*(5*(y.^2+1/16)+sqrt((5*y/8).^2-0.05)))-y');
  3. h(2)=ezplot('sqrt(9+0.9*(5*(y.^2+1/16)-sqrt((5*y/8).^2-0.05)))-y');
  4. h(3)=ezplot('sqrt(9+0.9*(5*(y.^2+9/16)+sqrt((45*y/8).^2-0.05)))-y');
  5. h(4)=ezplot('sqrt(9+0.9*(5*(y.^2+9/16)-sqrt((45*y/8).^2-0.05)))-y');
  6. arrayfun(@set,h,{'color','color','color','color'},{'r','b','k','c'})
  7. title('')
  8. legend(strcat({'第'},num2str((1:m)','%d'),{'条曲线'}));
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-9-20 21:43:55 | 显示全部楼层 来自 北京
本帖最后由 messenger 于 2010-9-21 17:46 编辑
  1. tt=[0.01,0.1,1]*24*3600;
  2. r=transpose(0.1:0.01:10);
  3. A=kron(1./(4*yita*tt),r.^2);
  4. X=mfun('Ei',1,A);
  5. Y=-p1.*X+p2;
  6. figure
  7. set(0,'DefaultAxesColorOrder',[0 0 0],...
  8.       'DefaultAxesLineStyleOrder','-|--|:')
  9. plot(-r,Y,r,Y);
  10. legend('t=0.01d','t=0.1d','t=1d',4);
  11. set(gca,'LineWidth',1);
  12. title('压力传播曲线')
  13. xlabel('r /m')
  14. ylabel('P /Pa')
  15. set(0,'DefaultAxesColorOrder','remove',...
  16.       'DefaultAxesLineStyleOrder','remove')
  17. saveas(gcf,'results\1\不同时间地层压力分布.fig');
  18. close(gcf);
复制代码


图片上传不了,感兴趣的可以自己运行
回复 不支持

使用道具 举报

发表于 2010-9-20 22:46:04 | 显示全部楼层 来自 四川成都
5# gouff

看你的程序的用途倒是有点意思,应该是做土压力随深度和时间的变化的,也挺有意义的。不过有一个问题哈,你的程序第三行里有一个yita是没有定义的,建议你再检查一下。还有,你的这个回复和这个帖子无关,建议不要发在这。如果把程序弄好的话,你可以自已发一个帖子,介绍一下背景、思路以及运用方面的东西,应该会是一篇不错的东西。
回复 不支持

使用道具 举报

发表于 2010-9-21 08:27:13 | 显示全部楼层 来自 河北廊坊
本帖最后由 qibbxxt 于 2010-9-21 08:49 编辑

上面4#的方程写错了,更正一下,代码为:

  1. m=4;hold on
  2. h(1)=ezplot('sqrt(9+0.9*(5*(y.^2+1/16)+sqrt((5*y/8).^2-0.05)))-x');
  3. h(2)=ezplot('sqrt(9+0.9*(5*(y.^2+1/16)-sqrt((5*y/8).^2-0.05)))-x');
  4. h(3)=ezplot('sqrt(9+0.9*(5*(y.^2+9/16)+sqrt((45*y/8).^2-0.05)))-x');
  5. h(4)=ezplot('sqrt(9+0.9*(5*(y.^2+9/16)-sqrt((45*y/8).^2-0.05)))-x');
  6. arrayfun(@set,h,{'color','color','color','color'},{'r','b','k','c'});
  7. arrayfun(@set,h,repmat({'LineStyle'},1,4),{'-','--',':','-.'});
  8. title('')
  9. legend(strcat({'第'},num2str((1:m)','%d'),{'条曲线'}),'Location','best');
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

 楼主| 发表于 2010-9-21 14:18:10 | 显示全部楼层 来自 湖南长沙
各位大虾的指点让小弟受益匪浅,很好地学习了一回!谢过~~~~~~~~,希望再以后学习MATLAB的过程中继续得到各位的指点!祝各位大虾中秋快乐!!!!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-3-28 18:34 , Processed in 0.074914 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表