概述
文章目录
- 前言
- 一、什么是赋值?
- 二、基本的
- 三、高级的
- 一对多赋值
- 多对多赋值
- 对于cell型C或者struct型S, 实现多对一赋值,或者多对多赋值
- 总结
前言
赋值看起来非常简单, 编程初学者都会。但是不要小看赋值,因为这是编程的第一步,非常重要。除了基本的赋值方法,本文还会介绍一些高级的赋值方法,供大家食用。
一、什么是赋值?
赋值是将某一数值赋给某个变量的过程,称为赋值。将确定的数值赋给变量的语句叫做赋值语句。各程序设计语言有自己的赋值语句,赋值语句也有不同的类型。所赋“值”可以是数字,也可以是字符串和表达式。
二、基本的
示例:
// 直接赋值
a=2;
a=1.236;
a="abc";
a='a';
a= [1,2,3,4,5,6];
三、高级的
一对多赋值
在Python中我们可以这样写:
b1=b2=b3=b4=A;
但是在Matlab中这样写,发现就是错的。
如果用deal函数,就是这样写的。
示例:
[B1,...,Bn] = deal(A);
如果没有deal函数,我们就要这样写:
a=1;
b=a;
c=a;
d=a;
多对多赋值
[B1,...,Bn] = deal(A1,...,An);
等价与Python的
B1,...,Bn = A1,...,An
等价与Matlab的
B1 = A1;
B2 = A2;
....
Bn = An;
对于cell型C或者struct型S, 实现多对一赋值,或者多对多赋值
参考上面的一对多,多对多赋值。其实本质上是对deal函数的应用。
示例:
// 一对多
[A1,A2,...,An]=C{:};
[B1,B2,...,Bn]=C(:).filed;
// 多对多
[C{:}] = deal(A1,A2,A3);
// 或者
[S.a] = deal(A1,A2,A3);
如果您的MATLAB版本是7.0以上,那么有时deal函数可以直接省略,请往下看!
其实MATLAB中只要等号两边的表达式中,逗号的个数相等就可以直接省略deal进行赋值,注意等号右边的逗号表达式不能手工敲入,只能使用x{:}和y.me等两种形式得到的等效逗号表达式,但左边可以使用[a,b]的手动逗号形式。
总结
本篇文章主要介绍了赋值中deal函数的应用。希望能够对你有所帮助。
参考:
http://blog.sina.com.cn/s/blog_6163bdeb0102dvhk.html
https://zhuanlan.zhihu.com/p/345117520
最后
以上就是善良八宝粥为你收集整理的MATLAB利用deal函数进行赋值前言一、什么是赋值?二、基本的总结的全部内容,希望文章能够帮你解决MATLAB利用deal函数进行赋值前言一、什么是赋值?二、基本的总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复