转载自:http://www.kui4.com/?p=98 文章作者:admin
之前就一直有这样的需求,正好看到,不错不错!
以前一直想,要是能够在一个语句给多个变量赋值是多么美好的事情呀。比如对x,y和z都赋值100
x=y=z=100
对a,b和c分别赋值1,2和3
a,b,c=1,2,3
这样的语句在python是合法的,但是在MATLAB的中是不合法的,那到底MATLAB中是否有其它解决方案呢。呵呵偷偷告诉您,这个是有滴。
MATLAB中提供了deal函数进行多变量赋值处理,且用处很大哦。该函数最基本语法为
[Y1, Y2, Y3, ...] = deal(X),即Y1=Y2=Y3=X
[Y1, Y2, Y3, ...] = deal(X1, X2, X3,
…),即Y1=X1,Y2=X2,Y3=X3
上面只是函数的基本用法,有些人觉得也没什么呀,哈哈其实您错了,这个函数的用处大着呢。我需要从细心看问题,才能看到本质。
在讲解之前先说两个小知识点:
(1)如果x={‘mat’,'lab’,'sky’},那么x{:}结果完全等效于:x{1},x{2},x{3},注意三个数据之间有逗号分隔开
(2)如果x(1).url=’mat’,x(2).url=’lab’,x(3).url=’sky’,也就是说x是一个结构体数组,那么x.url将完全等效于