我是靠谱客的博主 善良八宝粥,最近开发中收集的这篇文章主要介绍MATLAB利用deal函数进行赋值前言一、什么是赋值?二、基本的总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 前言
  • 一、什么是赋值?
  • 二、基本的
    • 三、高级的
      • 一对多赋值
      • 多对多赋值
      • 对于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函数进行赋值前言一、什么是赋值?二、基本的总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部