28、matlab算数运算汇总1:加、减、乘、除、幂、四舍五入

2024-06-07 13:52

本文主要是介绍28、matlab算数运算汇总1:加、减、乘、除、幂、四舍五入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、加法

说明

plus,+  添加数字,追加字符串

语法

C = A + B 通过对应元素相加将数组 A 和 B 相加
C = plus(A,B) 是执行 A + B 的替代方法
S = sum(___,nanflag) 指定包含还是省略 A 中的 NaN 值。

1)将标量与数组相加

代码及运算

A = [0 1; 1 0];
C = A + 2C =2     33     2

2)追加字符串

说明:创建两个 1×3 字符串数组,然后追加两个数组中位于类似位置的字符串。

代码及运算

s1 = ["Red" "Blue" "Green"]
s2 = ["Truck" "Sky" "Tree"]
s = s1 + s2s1 = 1×3 string 数组"Red"    "Blue"    "Green"s2 = 1×3 string 数组"Truck"    "Sky"    "Tree"s = 1×3 string 数组"RedTruck"    "BlueSky"    "GreenTree"

3)将两个数组相加

代码及运算

A = [1 0; 2 4];
B = [5 9; 2 1];
C = A + BC =6     94     5

2、sum数组元素总和

语法

语法1:S = sum(A,"all") 返回 A 的所有元素的总和。
语法2:S = sum(A,dim) 沿维度 dim 返回总和。

1)向量元素的总和

代码及运算

A = 1:10;
S = sum(A)S =55

2)矩阵列总和

代码及运算

A = [1 3 2; 4 2 5; 6 1 4]
S = sum(A)A =1     3     24     2     56     1     4S =11     6    11

3) 矩阵行总和

代码及运算

A = [1 3 2; 4 2 5; 6 1 4]
S = sum(A,2)A =1     3     24     2     56     1     4S =61111

4) 数组切片总和

两个页均为 4×3 的全 1 矩阵

代码及运算

A = ones(4,3,2);
S1 = sum(A,[1 2])S1(:,:,1) =12S1(:,:,2) =12
 4 个页的元素求和,每个页为 3×2 矩阵。

代码及运算

A = ones(4,3,2);
S2 = sum(A,[2 3])S2 =6666
 3个页面每个页的总和是一个 4×2 矩阵的元素之和。

代码及运算

A = ones(4,3,2);
S3 = sum(A,[1 3])S3 =8     8     8
 计算一个数组的所有维度上的和

代码及运算

A = ones(4,3,2);
S4 = sum(A,[1 2 3])
Sall = sum(A,"all")S4 =24Sall =24
 单维度求和

代码及运算

A = ones(4,3,2);
S5 = sum(A,1)
A = ones(4,3,2);
S5 = sum(A,2)
A = ones(4,3,2);
S6 = sum(A,3)S5(:,:,1) =4     4     4S5(:,:,2) =4     4     4S5(:,:,1) =3333S5(:,:,2) =3333S6 =2     2     22     2     22     2     22     2     2
 排除缺失值的总和

代码及运算

A = [1.77 -0.005 NaN -2.95; NaN 0.34 NaN 0.19]
S = sum(A,"omitnan")A =1.7700   -0.0050       NaN   -2.9500NaN    0.3400       NaN    0.1900S =1.7700    0.3350         0   -2.7600

3、 cumsum累积和

语法

语法1:B = cumsum(A,dim) 返回沿维度 dim 的元素的累积和。
语法2:B = cumsum(___,nanflag) 指定包含还是省略 A 中的 NaN 值。

1)向量的累积和


说明:计算从 1 到 5 的整数的累积和。元素 B(2) 是 A(1) 和 A(2) 的和,而 B(5) 是元素 A(1) 至 A(5) 的和。

代码及运算

A = 1:5;
B = cumsum(A)B =1     3     6    10    15

2)矩阵行中的累积和


计算 A 的行的累积和。元素 B(3) 是 A(1) 和 A(3) 的和,而 B(5) 是 A(1)、A(3) 和 A(5) 的和。

代码及运算

A = [1 3 5; 2 4 6]
B = cumsum(A,2)A =1     3     52     4     6B =1     4     92     6    12

3) 逻辑输入的累积和

代码及运算

A = [true false true; true true false]
B = cumsum(A,2)A =2×3 logical 数组1   0   11   1   0B =1     1     21     2     2

4) 不包括缺失值的累积和


对于包含前导 NaN 值的矩阵列,累积和为 0,直到遇到非 NaN 值。

代码及运算

A = [3 5 NaN 4; 2 6 NaN 9; 1 3 5 NaN]
B = cumsum(A,"omitnan")A =3     5   NaN     42     6   NaN     91     3     5   NaNB =3     5     0     45    11     0    136    14     5    13

4、movsum移动总和

语法

M = movsum(A,k) 返回由局部 k 个数据点总和组成的数组,其中每个总和基于 A的相邻元素的长度为 k 的滑动窗计算得出。

1)向量的中心移动和:计算行向量的三点中心移动和

代码及运算

A = [4 8 6 -1 -2 -3 -1 3 4 5];
M = movsum(A,3)M =12    18    13     3    -6    -6    -1     6    12     9

2)向量的尾部移动和:计算行向量的三点尾部移动和。

代码及运算

A = [4 8 6 -1 -2 -3 -1 3 4 5];
M = movsum(A,[2 0])M =4    12    18    13     3    -6    -6    -1     6    12

 3)矩阵的移动和:计算矩阵中每行的三点中心移动和。

代码及运算

A = [4 8 6; -1 -2 -3; -1 3 4]
M = movsum(A,2,2)A =4     8     6-1    -2    -3-1     3     4M =4    12    14-1    -3    -5-1     2     7

4) 排除缺失值的移动和

代码及运算

A = [4 8 NaN -1 -2 -3 NaN 3 4 5];
M = movsum(A,3,"omitnan")M =12    12     7    -3    -6    -5     0     7    12     9

5、减法:minus, - 

语法

C = A - B 从 A 数组中减去 B 数组,方法是将对应元素相减。
C = minus(A,B) 是执行 A - B 的替代方法

1)从数组减去标量

代码及运算

A = [2 1; 3 5];
C = A - 2C =0    -11     3

2)两个数组相减

代码及运算

A = [1 0; 2 4];
B = [5 9; 2 1];
C = A - BC =-4    -90     3

5、 差分:diff

语法

Y = diff(X,n) 通过递归应用 diff(X) 运算符 n 次来计算第 n 个差分。
Y = diff(X,n,dim) 是沿 dim 指定的维计算的第 n 个差分。

参数

n:差分阶数 dim:运算维度

1)向量元素之间的差分

代码及运算

X = [1 1 2 3 5 8 13 21];
Y = diff(X)Y =0     1     1     2     3     5     8

2)矩阵行之间的差分

代码及运算

X = [1 1 1; 5 5 5; 25 25 25];
Y = diff(X)Y =4     4     420    20    20

3) 二阶差分

代码及运算

X = [0 5 15 30 50 75 105];
Y = diff(X,2)
X = [0 5 15 30 50 75 105];
Y1=diff(X)
Y2=diff(Y1)Y =5     5     5     5     5Y1 =5    10    15    20    25    30Y2 =5     5     5     5     5

4) 矩阵列之间的差分

说明:创建一个 3×3 矩阵,然后计算各列之间的一阶差分。

代码及运算

X = [1 3 5;7 11 13;17 19 23];
Y = diff(X,1,2)Y =2     24     22     4

这篇关于28、matlab算数运算汇总1:加、减、乘、除、幂、四舍五入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1039366

相关文章

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

uva 575 Skew Binary(位运算)

求第一个以(2^(k+1)-1)为进制的数。 数据不大,可以直接搞。 代码: #include <stdio.h>#include <string.h>const int maxn = 100 + 5;int main(){char num[maxn];while (scanf("%s", num) == 1){if (num[0] == '0')break;int len =

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

每日一题|牛客竞赛|四舍五入|字符串+贪心+模拟

每日一题|四舍五入 四舍五入 心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C++学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。 四舍五入 题目: 牛牛发明了一种新的四舍五入应用于整数,对个位四舍五入,规则如下 12345->12350 12399->12400 输入描述: 输入一个整数n(0<=n<=109 ) 输出描述: 输出一个整数

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

【Kubernetes】常见面试题汇总(三)

目录 9.简述 Kubernetes 的缺点或当前的不足之处? 10.简述 Kubernetes 相关基础概念? 9.简述 Kubernetes 的缺点或当前的不足之处? Kubernetes 当前存在的缺点(不足)如下: ① 安装过程和配置相对困难复杂; ② 管理服务相对繁琐; ③ 运行和编译需要很多时间; ④ 它比其他替代品更昂贵; ⑤ 对于简单的应用程序来说,可能不

【Java中的位运算和逻辑运算详解及其区别】

Java中的位运算和逻辑运算详解及其区别 在 Java 编程中,位运算和逻辑运算是常见的两种操作类型。位运算用于操作整数的二进制位,而逻辑运算则是处理布尔值 (boolean) 的运算。本文将详细讲解这两种运算及其主要区别,并给出相应示例。 应用场景了解 位运算和逻辑运算的设计初衷源自计算机底层硬件和逻辑运算的需求,它们分别针对不同的处理对象和场景。以下是它们设计的初始目的简介:

位运算:带带孩子吧,孩子很强的!

快速进制 在聊到位运算之前,不妨先简单过一遍二进制的东西。熟悉二进制和十进制的快速转换确实是掌握位运算的基础,因为位运算直接在二进制位上进行操作。如果不熟悉二进制表示,很难直观理解位运算的效果。 这里主要涉及二进制和十进制之间的互相转换。 十进制转二进制 十进制转二进制可以使用常见的 除2取余法 进行。每次将十进制除以2并记录所得余数,直到商为0,然后再将记录的余数 从下往上排列即

libsvm在matlab中的使用方法

原文地址:libsvm在matlab中的使用方法 作者: lwenqu_8lbsk 前段时间,gyp326曾在论坛里问libsvm如何在matlab中使用,我还奇怪,认为libsvm是C的程序,应该不能。没想到今天又有人问道,难道matlab真的能运行libsvm。我到官方网站看了下,原来,真的提供了matlab的使用接口。 接口下载在: http://www.csie.ntu.edu.