关于matlab循环语句 循环

39197人阅读
mat_lab(50)
a=[12,13,14;15,16,17;18,19,20;21,22,23];
cnt=cnt+1;
val=input('Enter a number (end in 0):');
mean=sum/cnt
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1755705次
积分:20863
积分:20863
排名:第267名
原创:365篇
转载:251篇
评论:295条
(1)(1)(2)(1)(7)(4)(3)(14)(3)(8)(2)(2)(11)(25)(29)(1)(10)(26)(153)(85)(15)(15)(13)(1)(1)(11)(9)(8)(4)(59)(48)(8)(14)(24)(3)(2)(2)您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
Matlab分支和循环.ppt49页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:350 &&
你可能关注的文档:
······
··········
*Branches(try/catch)Example*循环语句 AnOverview在实际问题中,有时需要有规律的重复运算,相应的程序中就需要反复的执行某些语句。一组被重复执行的语句称为循环体。每循环一次,都要进行判断,判断的依据称为循环的终止条件。for语句循环的特点是判断条件通常是对循环次数的判断,一般循环次数预先设定好;而while语句的控制条件是一个逻辑判断语句,因此,它的适用范围更广一些。*循环语句Loops:a)while-loopStatement*Loops(while-loop)Thewhileloopstatementsyntaxisablockofstatementsisrepeatedaslongassomeconditionexpressionissatisfied.Iftheexpressionisnon-zero(true),thecodeblockwillbeexecuted,andthencontrolwillreturntothewhilestatement.Theprocesswillberepeateduntiltheexpressionbecomezero(false).*循环语句Loops:b)for-loopStatement*Loops(for-loop)Theforloopstatementsyntaxisaloopthatexecutesablockofstatementsaspecifiednumberoftimes.For-loophastheformasfollows:Wheretheindexistheloopvariableandexpristheloopcontrolexpression,whichusuallyhastheformofavectorinnotationfirst:incr:last.Thestatementsbetweentheforstatementandtheendstatementareknownasthebodyoftheloop.*Loops(for-loop)SomespecificexamplesControlexpressionisa1×10array.Controlexpressionisa1×5array.Controlexpressionisa1×3array.Controlexpressionisa2×3array.*ExampleWriteaprogramtofindtheindexofthemaximumvalueinamatrix.First,writeyourprogramwithafor…endloopSecond,writeyourprogramwithawhile…endloop*Solution:For-Loop[m,n]=size(A);max_val=A(1,1);forr=1:mforc=1:nifA(r,c)>max_valmax_row=r;max_col=c;max_val=A(r,c);endendend*Solution:While-Loopr=1;[m,n]=size(A);max_val=A(1,1);whiler<=mc=1;whilecmax_valmax_row=r;max_col=c;max_val=A(r,c);endc=c+1;endr=r+1;end*Matlab的程序流控制综上,Matlab的控制语句同c语言有相似之处,但没有c语言复杂、灵活和多变。因而语法比较简单,容易掌握。echo命令(用来控制m文件在执行过程中是否显示)
正在加载中,请稍后...后使用快捷导航没有帐号?
查看: 17156|回复: 26
注册时间阅读权限10最后登录在线时间308 小时贡献值0 积分273分享好友记录日志相册UID22920
正式滴友, 积分 273, 距离下一级还需 227 积分
水晶1616 心级273 精华1主题帖子
本帖最后由 lililili 于
09:08 编辑
1.7 MATLAB循环语句的使用(for语句和while语句)1.7.1循环语句简单说明& && && &无论在matlab编程还是其它一些语言编程当中,一个很重要的东西就是循环语句。在处理数据的过程中,会发现有很多重复性的劳动,手工处理第一会非常的麻烦,第二就是很容易出错,而用程序处理就能很好的解决这个问题,而解决这个问题的关键就在循环语句的使用。& && && &在之前似乎是胞的使用那节有简单的提到过循环语句的使用,在matlab当中最主要的两种循环语句分别是for和while,下面就来详细的介绍一下他们的用法。
1.7.2 for循环语句的使用方法
1.7.2.1 什么地方用到for循环& && && &如果已经确定循环次数的时候,或者希望按照某个向量或者胞里面的元素循环,推荐使用for循环。其优点就是写出来的程序比较工整,并且简单易学,同时也是最为常用的一种循环方式。
1.7.2.2&&基本格式for&&index = array /cell& && && &end
index是循环的指标量,也就是可以在每次循环当中能够变化的量。在for循环当中是必要的。array/cell 是一个向量或者一个胞(cell),这个是跟在指标的后面,用来表示指标在这个向量或者胞中变化。statement 就是希望循环的语句,这里面可以使用index来控制每次循环有差异的地方。
注意:1.& && &for的结尾必须有end来表示循环的结束,如果没有end,程序会出现错误。2.& && &array/cell这个其实也可以是一个矩阵或者一个随机的矩阵,但这个用法非常的少见,我也是在某个博客上看到的,但至今从来没使用过。当然这里最为常用向量就是1:n,其中n为循环的次数。在下面我会拿出几个例子来演示各个循环的使用方法。
1.7.2.3 for循环举例
1.7.2.3.1样例一(使用向量来循环)假如我们经常会在某些地方写一堆看似重复,但中间又会有少许不一样的字符。比如:subject_1_EEGdata.avgsubject_2_EEGdata.avgsubject_3_EEGdata.avgsubject_4_EEGdata.avg 。。。& && && &如果写的数量不多,那么可以使用粘贴+复制+改其中一些变化量来实现这个任务,但如果要写的东西过于多,比如要写上100行,上面所说的这个办法就不是那么方便了。(常用excel的同学应该认为excel可以完爆这个任务,但作为编程样例,我就说说如何使用程序来实现这个任务)分析:首先拿到这个任务之后,需要解决的三个问题是1.如何使用循环,2如何将字符书写出来。3 如何利用循环将那些改变的字符写出来。解决:第一个问题:上面有说过循环的用法,当已知循环的次数,那么推荐使用for循环,其中index是一个循环的指标,这个指标每循环一次,就会变一次,分析上面那列字符串,变化的就是subject_后面的那个数字,其它都没变,那么就可以利用index来写那个变化的数字,其它的字符不动就可以了。index变化是按照后面那个array/cell来变化的,变化是一次加一,那么我们就可以生成一个array,让这个array就是从一开始一次加一,简单的写法就是1:5(这里为了后面程序输出少,我们先假定只写5行),如果不知道为啥是1:5,可以翻翻前面讲如何生成数组。第二个问题:在matlab界面上书写字符,可以使用disp函数,比如我要写subject_1_EEGdata.avg,就可以在matlab上写disp(‘subject_1_EEGdata.avg’)。第三个问题:disp是可以写字符串,但如何让里面那个数字字符变起来呢?这个时候就需要知道disp括号里面其实就是一个字符串,根据前面说到的字符串的相关知识,我们可以通过字符串的合并来解决,比如index是1,这个时候要写出上面所说的字符串,就可以写disp([‘subject_’, num2str(index), ‘_EEGdata.avg’])。& && && &三个问题都解决了,那么来看程序:for index = 1:5& && && &disp([‘subject_’,num2str(index), ‘_EEGdata.avg’]);end 输出:subject_1_EEGdata.avgsubject_2_EEGdata.avgsubject_3_EEGdata.avgsubject_4_EEGdata.avgsubject_5_EEGdata.avg
变式:上面的问题轻松解决,但另外一个问题就出来了,如果写的这些字符串里面变化的都是很有规律的,但如果不规律怎么办?比如想写subject_2_EEGdata.avgsubject_4_EEGdata.avgsubject_3_EEGdata.avgsubject_5_EEGdata.avgsubject_1_EEGdata.avg这个时候就发现强大的excel的拖拽功能不怎么起作用了。看看如何使用程序来实现:M = [2,4,3,5,1];for index = 1:5& && && &disp([‘subject_’, num2str(M(index)),‘_EEGdata.avg’]);end这个就是我们常用的方法,首先先写一个向量,然后通过index来依次调用那个向量就可以了。但还有个办法就是前面说的直接在index后面跟那个向量,比如:M = [2,4,3,5,1];for index = M& && && &disp([‘subject_’, num2str(index),‘_EEGdata.avg’]);end& && && &这个时候index就不是一次加一了,而是第一次循环index = 2,第二次循环 index = 4,以此类推。
1.7.2.3.2样例二(使用胞来循环)& && && &我们又碰到一个问题,我们现在有个胞(cell),这个胞里面装的都是一些字符串,对应的是各个电极的名称,比如CELL = {‘FP1’, ’FPZ’, ‘FP2’, ‘F1’, ‘F3’, ‘FZ’,‘F4’, ‘F2’}现在想把这个CELL的电极名称写下来,写成一列,比如FP1FPZFP2F1F3FZF4F2这个问题是常见的,譬如后面在用sloreta的时候,其中会需要一个包含电极名称的txt文件,一般我们会对着数据,按照顺序把这些电极一个个手动输入,但有个简单的方法就是可以通过读取电极文件,读出来的就是一个胞,我们就可以通过循环将这些电极写出来。废话不多说,先看程序:CELL = {‘FP1’, ’FPZ’, ‘FP2’,‘F1’, ‘F3’, ‘FZ’, ‘F4’, ‘F2’};for&&i = 1:length(CELL)& && && &disp(CELL{i});end& && && &但之前我们有说index(这里为了书写方便,换成i这个变量名作为指标量)后面可以跟cell,那么我们可以尝试使用一下。CELL = {‘FP1’, ’FPZ’, ‘FP2’,‘F1’, ‘F3’, ‘FZ’, ‘F4’, ‘F2’}for&&i = CELL& && && &disp(i{1})end& && && &注意这里i每次循环是取CELL当中的其中一个元素,这个元素的变量类型是cell,也就是i对应的是一个1*1的cell类型,我们想把cell里面的东西取出来,就要写成i{1},而i{1}就是那个1*1的cell里面的字符串了。
1.7.3 while循环语句的使用方式
1.7.3.1什么地方使用while循环& && && &while是个很强大的循环语句,前面所说for能做的地方,while一样可以做到,并且while可以做到很多for无法做到的事情。比如当不知道循环次数的时候,我们就可以使用while语句了,但有个问题while的使用会比较困难,对循环的整个过程以及流程要很了然于胸才能使用正确,否则会把自己绕进去。初学者要多加练习,后面有很多地方会用到这个循环,并且也只能使用这个循环。
1.7.3.2&&基本语法while expressionstatementsend
expression在这里就不是一个循环的指标了,而对应的是一个表达式,这个表达式最终会得到一个结果,这个结果就会被强制的转换为一个逻辑型变量。这个逻辑型变量如果是true,那么这个循环就会进到statements中,去运行一遍循环内部的语句,如果是false就会直接跳出循环,也就是运行这个while对应的end后面的语句。经常配合while这个语句的还有条件语句以及break这个函数。break这个函数的功能就是强制的跳出这层循环。进入到后面的语句当中。具体用法看后面样例:
1.7.3.3 while循环举例
1.7.3.3.1样例一任务: 一个很大的正整数,每次这个数字会被折半,问经过多少次折半,这个数会小于1分析:这个可以使用循环来完成,但在之前我们不知道要循环几次,所以无法使用for循环来解决,那么只能去使用while语句。如果那个数是a,我们首先需要一个计数的变量,叫它count,每当a/2之后,count就加一,当a小于1的时候,就跳出循环,返回count值,这样我们就知道折半多少次后,a小于1了。程序如下:
a = ; % 给定a的值count = 0;&&% 给定一个计数的变量while a&1& &%判断a是否大于1,如果成立,进入循环当中& && && &a = a/2;& &% 循环内部的语句,进到这里说明a&1,这个时候把a折半再存到a中& && && &count = count + 1; %计数值开始加一,存到计数变量里面endcount&&% 当循环跳出之后将计数值显示出来 运行结果:count = 29
& && && &点评:这个例子似乎感觉在心理学当中用处不大,但作为while循环的一个例子还是不错的,这里会用到一个计数变量,这个在while循环里面会经常用到。因为for循环中我们可以使用i= 1:n,这里的i就是一个计数变量,用来表示循环到第几次,但在while当中是没有这样一个计数的变量的,这个时候就需要我们自己造一个,造的办法就是在循环前给一个变量,比如count,然它等于0,然后只要进入一次,就将这个count+1,这样就可以记录程序在这个while里面跑了多少遍了。
1.7.3.3.2样例二同样还是上面的这个例子,我们想用while和break来写,代码如下:a =
% 给定a值count = 0 % 给定计数变量while 1&&% 这里while后面跟1,强制转换之后是true,也就是一直循环& && && &a = a/2;&&% a折半后存入a& && && &count = count + 1;&&%a折半一次后,计数单位+1& && && &if a &= 1& &%用条件语句判断a是否小于等于1& && && && && && &&&% a 小于等于1成立,那么就跳出循环& && && &end& &% if 语句的结束end&&% for 语句的结束count& &% 显示count
点评:这个写法要比上面那个写法麻烦一些,但这个控制起来会更加灵活。
1.7.3.3.3样例三同样还是上面的例子,我们再换一种方式来写。a = ;&&% 给定a值count = 0;&&% 给定计数变量flag = 1;&&% 这里我们在循环前设置一个类似于开关的东西,这个时候默认是1while flag&&%在while后面跟着一个flag,flag = 1,进入循环,flag=0 跳出循环& && && &a = a/2; % a折半& && && &count = count + 1;& && && &if a &= 1& &%用条件语句判断a是否小于等于1& && && && && && & flag = 0;&&%a 小于等于1成立,那么这个时候就把开关设置为0,这样它在下次循环就会跳出& && && &end& &% if 语句的结束end&&% for 语句的结束count& &% 显示count
点评:看似这个例子和样例二相比差不多,要知道有break这个跳出循环的函数,为啥还要设置这样一个类似开关的变量呢?原因是可能我们后面碰到的循环不仅仅是一层,有可能是一层里面包着一层循环,可能我们会碰到一种情况要跳出这两层循环,而break只能跳出一层循环,另外一层循环就没办法跳出,这个时候我们只要在每层循环上设置一个开关,就可以在循环里面通过调整这个开关来实现跳出一层循环或者跳出两层循环。这个用法也是灰常常见的,大家要学会使用哈~
& && && &值得注意的一点就是从条件语句之后,这些程序基本就是在m文件编辑器当中写了,运行的时候只需要选中m文件中需要运行的那几行命令,按F9就可以了,如果在command window当中写这些比较长的语句会非常的麻烦~
%%%%%%%%%%%%%%%%%%% 我是华丽丽的分割线%%%%%%%%%%%%%%%%%& && &&&今天这节就写到这里,最近有太多太多的事情在忙,更新就慢了下来,还请关注此贴的各位亲们耐心等待。我只要有时间就会来更新。& && &&&对于前面所说的条件语句以及今天说的循环语句是后面程序当中非常非常重要的两个部分,希望大家下去能好好的练习,熟练的掌握这些用法。在这里留下一个思考题,看自己是否学会使用的这两类控制语句:& &&&在后面如果要编写刺激呈现的程序,比如一组实验当中会有100个trials,之前我们想做一个序列用来表示哪些trials需要反应,哪些trials不需要反应。在这100个trials当中只有20个trials需要反应,其他的都不需要反应。反应与不反应是随机的,但不能连续2个或者2个以上的trials连着反应。如何设计这个序列?& && && &问题化简:生成一个1*100的由0,1组成的向量,使用1表示需要反应,0表示不需要反应,其中1占20个,剩下都是0,0和1的分布是随机的,但必须不能有两个或两个以上的1连在一起,问如何生成这组向量? 答对有5水晶的奖励哈~
总评分:&水晶 + 39&
终于能将cnt处理后的数据写成avg文件了。。。给力哇~~
注册时间阅读权限10最后登录在线时间176 小时贡献值0 积分389分享好友记录日志相册UID26259
正式滴友, 积分 389, 距离下一级还需 111 积分
水晶2317 心级389 精华0主题帖子
本帖最后由 lililili 于
09:08 编辑
看着好难啊,还是得好好研究~
peaya paper真是体贴,总是能自动送来与我最近研究相关的文献
注册时间阅读权限10最后登录在线时间315 小时贡献值0 积分168分享好友记录日志相册UID9896
认知神经科学打开了通往心灵的一
正式滴友, 积分 168, 距离下一级还需 332 积分
水晶4174 心级168 精华0主题帖子
本帖最后由 lililili 于
09:08 编辑
很好的资料O(∩_∩)O谢谢
注册时间阅读权限10最后登录在线时间596 小时贡献值0 积分210分享好友记录日志相册UID4949
正式滴友, 积分 210, 距离下一级还需 290 积分
水晶1113 心级210 精华0主题帖子
本帖最后由 lililili 于
09:08 编辑
楼主你要是个女的,我怎么也要追你去!
&可惜楼主是男滴哈~&
Study and enjoy!
注册时间阅读权限10最后登录在线时间596 小时贡献值0 积分210分享好友记录日志相册UID4949
正式滴友, 积分 210, 距离下一级还需 290 积分
水晶1113 心级210 精华0主题帖子
本帖最后由 lililili 于
09:08 编辑
a=zeros(1,100);
for i=1:20
a(count+5)=1
count=count+4
a=zeros(1,100);
c=ceil((rand(1,20)*100))
for i=1:20
只能做到这样,不知道怎么保证没有两个或两个以上的1连在一起啊!
总评分:&水晶 + 5&
Study and enjoy!
注册时间阅读权限10最后登录在线时间157 小时贡献值0 积分124分享好友记录日志相册UID1504
看得下书,吃得上饭,就是幸福
正式滴友, 积分 124, 距离下一级还需 376 积分
水晶1197 心级124 精华0主题帖子
本帖最后由 lililili 于
09:08 编辑
呵呵,继续顶好人
注册时间阅读权限10最后登录在线时间308 小时贡献值0 积分273分享好友记录日志相册UID22920
正式滴友, 积分 273, 距离下一级还需 227 积分
水晶1616 心级273 精华1主题帖子
本帖最后由 lililili 于
09:08 编辑
a=zeros(1,100);
嗯,第一个方法反应和不反应似乎不是随机,后面那个方法又不能保证不会出现连续的两个1~根据方法一,你可以把这个序列拆成 20个 [1,0],还有60个0,然后随机排放这80个东西,这样就能实现随机并且不会让两个1连在一起~你的方法二也很不错呢~只需要在后面再加一个判断的程序,判断如果有连续的两个1,那就再重新生成一组,一直检测到不出现连续的两个1为止就好~这种情况出现的概率应该蛮大的,所以用不了多久就能筛选出一个满足条件的序列啦~想想如何用程序实现~
终于能将cnt处理后的数据写成avg文件了。。。给力哇~~
注册时间阅读权限10最后登录在线时间596 小时贡献值0 积分210分享好友记录日志相册UID4949
正式滴友, 积分 210, 距离下一级还需 290 积分
水晶1113 心级210 精华0主题帖子
本帖最后由 lililili 于
09:08 编辑
嗯,第一个方法反应和不反应似乎不是随机,后面那个方法又不能保证不会出现连续的两个1~根据方法一,你可 ...[/quote]
呵呵,我改进了第二种方法,这回应该可以了!
a=zeros(1,100);
c=ceil((rand(1,20)*100))
d=sort(c);
for k=1:19
if d(k+1)~=d(k)+1;
& & index=d
& & d(k+1)=d(k)+2
& & index=d
for i=1:20
&假如随机出来的情况是d(19)=98,d(20)=99肿么办呢?或者连续三个数一样肿么办呢?嘿嘿~这个程序已经很赞了~但可能会有bug,虽然这种bug出现的可能性不高~&
总评分:&水晶 + 5&
Study and enjoy!
注册时间阅读权限10最后登录在线时间596 小时贡献值0 积分210分享好友记录日志相册UID4949
正式滴友, 积分 210, 距离下一级还需 290 积分
水晶1113 心级210 精华0主题帖子
本帖最后由 lililili 于
09:08 编辑
呵呵,我改进了第二种方法,这回应该可以了!
a=zeros(1,100);
呵呵,不好意思,你别加分了,我刚才看了下,还是没能实现那个要求,呵呵!
&一天能加20分~加分我又不扣分~嘎嘎~怕啥~~&
Study and enjoy!
注册时间阅读权限1最后登录在线时间1 小时贡献值0 积分6分享好友记录日志相册UID22529
新新滴友, 积分 6, 距离下一级还需 24 积分
水晶104 心级6 精华0主题帖子
本帖最后由 lililili 于
09:08 编辑
和一MM争论鲸鱼是不是鱼,最后我说“日本人也带个人字”,她这才同意鲸鱼不是鱼。
顶,是一种义务&&
Medal No.1
Medal No.1
Powered by
Template By
Comsenz Inc.温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(971)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'MATLAB save 循环',
blogAbstract:'
先给文件命名,然后将变量存入该文件:
filename=[\'filename\',mum2str(i),\'.mat\'];
save(filename,\'变量名\')
delete(filename)
循环为某个figure添加title,每个figure由subplot组成:[loc1 loc2 lat_lon(i-49,:)]=textread(input2,\'%s%s%f\',\'headerlines\',13);%读文件,14行开始,前三个字符串和数,其中空格为两个数分开;
input2=[num2str(i),\'_01.HDR\'];
ti=[\'纬度:\',num2st',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:4,
publishTime:7,
permalink:'blog/static/',
commentCount:1,
mainCommentCount:1,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}matlab 每次循环得到一个点,(x,y),用plot(x,y,&-&)画出来还是一个一个的点,这样才能画成实线呢-中国学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
> 信息中心 >
matlab 每次循环得到一个点,(x,y),用plot(x,y,&-&)画出来还是一个一个的点,这样才能画成实线呢
来源:互联网 发表时间: 16:32:34 责任编辑:鲁晓倩字体:
为了帮助网友解决“matlab 每次循环得到一个点,(x,y),用plot(x,y,&-&)画出来还是一个一个的点,这样才能画成实线呢”相关的问题,中国学网通过互联网对“matlab 每次循环得到一个点,(x,y),用plot(x,y,&-&)画出来还是一个一个的点,这样才能画成实线呢”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:matlab 每次循环得到一个点,(x,y),用plot(x,y,&-&)画出来还是一个一个的点,这样才能画成实线呢,具体解决方案如下:解决方案1: 如果楼主确定是每次循环得到一个点,那靠hold on 是不行的例如:x=-pi:pi/10:n=length(x);for ii=1:n y(ii)=sin(x(ii)); plot(x(ii),y(ii),'-','Markersize',5);end不知是不是你说的每次循环得到一个点,你可以试试,是hold不住的--------------------但这样是可以的:x=-pi:pi/10:n=length(x);for ii=1:n y(ii)=sin(x(ii));endplot(x,y);----------------------当然,不同情况,效果不同,只能说具体问题具体分析,可探讨。
1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright &#169; 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号

我要回帖

更多关于 matlab循环语句 的文章

 

随机推荐