我是靠谱客的博主 愉快大侠,这篇文章主要介绍MATLAB利用deal函数进行赋值前言一、什么是赋值?二、基本的总结,现在分享给大家,希望可以做个参考。

文章目录

  • 前言
  • 一、什么是赋值?
  • 二、基本的
    • 三、高级的
      • 一对多赋值
      • 多对多赋值
      • 对于cell型C或者struct型S, 实现多对一赋值,或者多对多赋值
  • 总结


前言

赋值看起来非常简单, 编程初学者都会。但是不要小看赋值,因为这是编程的第一步,非常重要。除了基本的赋值方法,本文还会介绍一些高级的赋值方法,供大家食用。


一、什么是赋值?

赋值是将某一数值赋给某个变量的过程,称为赋值。将确定的数值赋给变量的语句叫做赋值语句。各程序设计语言有自己的赋值语句,赋值语句也有不同的类型。所赋“值”可以是数字,也可以是字符串和表达式。

二、基本的

示例:

复制代码
1
2
3
4
5
6
7
// 直接赋值 a=2; a=1.236; a="abc"; a='a'; a= [1,2,3,4,5,6];

三、高级的

一对多赋值

在Python中我们可以这样写:

复制代码
1
2
b1=b2=b3=b4=A;

但是在Matlab中这样写,发现就是错的。

如果用deal函数,就是这样写的。

示例:

复制代码
1
2
[B1,...,Bn] = deal(A);

如果没有deal函数,我们就要这样写:

复制代码
1
2
3
4
5
a=1; b=a; c=a; d=a;

多对多赋值

复制代码
1
2
[B1,...,Bn] = deal(A1,...,An);

等价与Python的

复制代码
1
2
B1,...,Bn = A1,...,An

等价与Matlab的

复制代码
1
2
3
4
5
B1 = A1; B2 = A2; .... Bn = An;

对于cell型C或者struct型S, 实现多对一赋值,或者多对多赋值

参考上面的一对多,多对多赋值。其实本质上是对deal函数的应用。

示例:

复制代码
1
2
3
4
5
6
7
8
// 一对多 [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函数进行赋值前言一、什么是赋值?二、基本内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部