看到了北京一则新闻,想到如何测试双向镜子?百度之。

      

      只要做以下简单的测试:把你的指甲尖放在镜子表面,如果在指甲尖与倒映图像之间有间隙,那就是真的镜子。然而,如果你的指甲尖能直接碰触到指甲反射影像,当心!那就是双向镜了!

一、matlab里如何显示点的坐标?

  • 在图里显示点坐标

        

      工具栏中有一个 "Data Cursor"按钮,点击之,箭头变成小十字,点要显示坐标的位置,就出来了。

  • 采用字符串函数处理

       

  1: x=1+4*rand(1,5);
  2: y=2+2*rand(1,5);
  3: plot(x,y,'o-')
  4: %text(x,y,s)就是在点(x,y)处显示字符串s、
  5: for i=1:length(x)
  6:     text(x(i),y(i),['(',num2str(x(i)),',',num2str(y(i)),')'])
  7: %在(x,y)的每一点处添加文字,文字内容为(x,y)
  8: %其中每一点的x,y用num2str把数字转化成字符串
  9: end

      还可以这么写。

  1: x=1+4*rand(1,5);
  2: y=2+2*rand(1,5);
  3: plot(x,y,'o-')
  4: for i=1:length(x)
  5: str1 =strcat(strcat('(',num2str(x(i))),',');
  6: str2 = strcat(num2str(y(i)),')');
  7: text(x(i),y(i),strcat(str1,str2))
  8: %在(x,y)的每一点处添加文字,文字内容为(x,y)
  9: %其中每一点的x,y用num2str把数字转化成字符串
 10: end

      还是第一个的好,因为他知道字符串的多种连接方式(text(x,y,s)就是在点(x,y)处显示字符串s)。

二、字符串连接

  • 用中括号将str1和str2像矩阵元素一样包含起来
  1: >> str1='ILoveYou';
  2: >> str2='Matlab';
  3: >> [str1,str2]
  4: ans =
  5: ILoveYouMatlab

      若想验证str1和str2确实被连接起来,可调用length函数测试生成字符串的长度。

  • 用strcat函数连接
  1: >> strcat(str1,str2)
  2: ans =
  3: ILoveYouMatlab

      或者采用下面的方式。

  1: strcat({'Red','Yellow'},{'Green','Blue'})
  2: ans =
  3:     'RedGreen'    'YellowBlue'
  4: >> {'Red','Yellow'}
  5: ans =
  6:     'Red'    'Yellow'

      下面就不一样了。

  1: >> strcat(['Red','Yellow'],['Green','Blue'])
  2: ans =
  3: RedYellowGreenBlue

      可以看出这和plot([],[])的参数位置不一样。

  • 利用sprintf函数
  1: >> number=123;
  2: >> sprintf('%s%d','Fuck',number)
  3: ans =
  4: Fuck123

      利用class(ans)可以知道Fuck123的类型为char。

三、中括号与大括号区别

      大括号用于元胞数组,不明白,暂且不管,没找到资料。

四、散点图

      plot([x1,x2],[y1,y2])这样就懂了吧,看参数的意思,试验出来的。

      散点图除了scatter函数外,还有stem函数可以使用,其他的没查。

  1: >> y=x.^2;
  2: >> stem(x,y,'fill');
  3: >> title('y=x^2散点图');

     

五、图的说明

      下面在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx),标记两曲线交叉点。

     

  1: figure(1);%参数必须是整数标量,所以必须采用set来设置标题栏“复杂的函数”
  2: %注意观察和titile的区别
  3: set(gcf,'Name','复杂的函数');
  4: title('复杂地函数');
  5: %如果用axis初始化坐标范围,那么会提示没有初始化x,所以先其他方法初始化x,axis必须放在plot后
  6: %而且如果用axis已经生成的图片可能偏上或者偏下,所以axis不常用来设置坐标范围,只设置x就行了
  7: x=linspace(0,2*pi,1000);%xlim([0,2*pi])
  8: xlabel('x轴(m)');
  9: ylabel('y轴(m)');
 10: y1=0.2*exp(-0.5*x).*cos(4*pi*x);
 11: y2=2*exp(-0.5*x).*cos(pi*x);
 12: k=find(abs(y1-y2)<1e-2);
 13: %查找y1与y2相等点(近似相等)的下标
 14: x1=x(k); %取y1与y2相等点的x坐标
 15: y3=0.2*exp(-0.5*x1).*cos(4*pi*x1);
 16:  %求y1与y2值相等点的y坐标
 17:  plot(x,y1,'b',x,y2,'r');
 18:  hold on
 19:  scatter(x1,y3);
 20:  legend('A曲线','B曲线','C曲线');%不能再加上C曲线,因为scatter和plot不属于同一个体系,会提示“未定义函数或变量 'x'”
 21:  %plot(x,y1,x,y2,'k:',x1,y3,'bp');这个也可以标记出来点,如果不加p,那么低三个曲线就是折线图,不过没查到p啥意思
 22:  %不知道也没关系,会用替代方案也好
 23:  %axis([0 2*pi -1 5]);%注意里面还有中括号,否则一直提示"不是MATLAB表达式"
 24:  grid on

      图名标注可用:title('xx关系图')和set(gcf,'Name','图片1')不一样,set设置的是图片标题栏,而前者设置显示在图片中心区域axis([0,22,0,3]);---显示范围为:X轴从0-22, Y轴从0-3显示。xlabel('电压(V)'),ylabel('电流(A)') 分别表示在X轴下标示电压(V),Y轴旁标示“电流(A)”

legend('A曲线 ','B曲线','C曲线')  用于说明图中的曲线的说明,顺序和plot(x1,y1,x2,y2,x3,y3)的曲线1、2、3相同即可。

      问题来了,如何控制y轴显示精度(x轴用linspace第三个参数表示共几个,实际就内涵了精度,或者x=1:1:10,那么精度是1),y轴不能用x那样,就怕图形偏上偏下,所以我想的方法是先绘制一下,确定y轴范围比如1到6,那么再次加上y=1:0.5:6,这样就不怕偏上偏下,而且精度0.5。学习还是想一些简单的方法吧,不要遇到问题就想去找函数,个人感想而已。

六、绘制光滑曲线

       对于离散坐标点,scatter划散点图,plot划折线图,那么问题来了,如何让折线图平滑?

      参考http://philotack.blog.163.com/blog/static/37473423201010910230221/

关于Matlab作图的若干问题的更多相关文章

  1. 【转】Matlab作图语句小结

    之前用Matlab作图,从网上找了些别人的例子,然后慢慢调参数.其实对很多命令,特别是对句柄不是很了解,今天简单总结了一下.下面用几个例子来说明:     ]);  首先,gcf是当前figure对象 ...

  2. 小论文matlab作图技巧

    小论文matlab作图技巧 编辑->复制选项 编辑->图形属性 图中右击->字型 编辑->复制图片,即可. 效果: 宽:5.9高: 7.91

  3. MATLAB作图方法与技巧(二)

    作为MATLAB作图方法与技巧(一)的补充 1.绘制二维散点图 ① scatter函数 scatter(x,y,s,c)函数绘制向量x和y的散点图,其中s代表点的大小,c代表点的形状,s和c缺省时为默 ...

  4. MATLAB作图方法与技巧(一)

    下面从折线图.曲面图和图形说明与定制三个方面说明MATLAB作图的一些方法与技巧,注意,文中出现的单引号在MATLAB中实际运行的时候,需要改为MATLAB认可的单引号. 一. 作折线图 1.plot ...

  5. Java中使用MATLAB作图 .

    最近做一个项目,需要很多进行很多信号处理——小魏就是学软件的,对信号处理简直是个小白,最简单的实现就是傻瓜似的调用MATLAB的各种工具箱,达到目的就行. 同时,MATLAB是种解释性语言,执行效率比 ...

  6. MATLAB作图之一

    问题 在使用MATLAB当中的imagesc作图的时候,如果数据矩阵元素太少,得到的图看起来会很"粗糙"(图1).那么如何得到更为"圆润"的图像呢? A = r ...

  7. paper 115:常见的概率分布(matlab作图)

    一.常见的概率分布 表1.1 概率分布分类表 连续随机变量分布 连续统计量分布 离散随机变量分布 分布 分布 二项分布 连续均匀分布 非中心 分布 离散均匀分布 (Gamma)分布 分布 几何分布 指 ...

  8. Matlab: 作图

    控制图的大小 figure('position',[x0,y0,dx,dy]); figure(fig number); 显示图例 legend('leg1','leg2') depend on ho ...

  9. matlab作图 latex插图

    推荐用saveas eps,再用eps2pdf转成pdf.这样可以之间pdflatex编译. if result.savepic saveas(gcf,[ pwd '/picture/right_' ...

随机推荐

  1. jsp中的包含 include标签和ejb的小知识点

    <!-- 用inclue指令导入安全登录防护代码(静态包含) --> <!-- 静态包含:把被包含代码拷到当前类中形成一个新的类,执行.包含与被包含代码是合写在同一个类(servic ...

  2. JS中checkbox组件的使用

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  3. ThinkPHP函数详解:cookie方法

    cookie函数也是一个多元化操作函数,完成cookie的设置.获取和删除操作. Cookie 用于Cookie 设置.获取.删除操作 用法cookie($name, $value='', $opti ...

  4. 数据搬运工DSS~介绍

    DSS介绍 DSS是为了实现异地数据同步而开发的一套.net平台的应用程序,它寄宿到windows服务上,由多个客户端和一个服务端组成,其中客户端用来收集数据(数据源端),服务端用来将数据写入指定数据 ...

  5. NUnit使用详解(二)

    转载:http://hi.baidu.com/grayworm/item/39aa11c5d9375d56bdef6990 五:常用断言 在NUnit中,断言是单元测试的核心.NUnit提供了一组丰富 ...

  6. C#&JQuery非缓存式无刷新临时存储数据之仿购物车功能

    感谢广大博问博友的帮助和共同研究讨论,终于实现了一个无缓存无刷新仿购物车的小功能: 一.实现效果简述: 有一种列表,是由双层Repeater嵌套,第一层用来显示类别,第二层用来显示类别下的商品数据, ...

  7. JavaSE生成随机数

    今天呢,老师讲了一下怎么用jvm实现随机数(本人对此很感兴趣),一个简单的随机100以内整数的代码如下: /** 生成随机数 */ import java.util.Random; public cl ...

  8. ipod nano 无法添加mp4视频 电影失败解决方法

    我的是nano7. 导入mp4各种错误, 同步资料库 无效等等方法都没用. 后来发现当中 多个mp4,少年pi.mp4竟然导入成功, 怀疑是mp4格式不符合nano 于是:(测试后成功) 先拉到资料库 ...

  9. 05_Excel操作_03_模拟Web环境的Excel导入

    [思路简述] 本文继续上一篇文章,上一篇中生成了“D://用户列表.xls”的excel文件,我们接下来将这个excel导入,然后显示在控制台上. 工程什么的都同上一篇文章,只是在ExcelServi ...

  10. win8.1企业版更新到win10解决方案

    最近想把自己的win8.1更新成win10,发现月底就要免费更新了,由于我的电脑是企业版,官方不提供企业版的免费升级,所以用电脑管家或者360老是提示不对.我就百度了在注册表里面改成了专业版的,接着继 ...