matlab与python编程对照

目录

  • 1. 基础操作
    • 1.1 循环
      • 1.1.1 for 循环
      • 1.1.2 while 循环
    • 1.2 if 判断
      • 1.2.1 大小判断
      • 1.2.2 与、或、非
  • 2. 一维数组
    • 2.1 创建数组
    • 2.2 置换数组中特定索引的元素
    • 2.3 输出数组中倒数第一和倒数第二个元素
    • 2.4 扩大数组的长度
    • 2.5 缩小数组的长度(删除指定索引的元素)
    • 2.6 数组同时加上相同的数值
    • 2.7 数组同时乘以相同的数值
    • 2.8 找到特定元素在数组中的位置(索引)
    • 2.9 创建数值相同的数组
    • 2.10 创建数值连续(等差)的数组
    • 2.11 数组排序
    • 2.12 数组排序后的原索引
    • 2.13 排除数组中重复的元素
  • 3. 二维矩阵(python基于numpy)
    • 3.1 创建指定行数和列数的矩阵
    • 3.2 置换矩阵指定行的元素
    • 3.3 置换矩阵指定列的元素
    • 3.4 扩大矩阵·增加行
    • 3.5 扩大矩阵·增加列
    • 3.6 缩小矩阵·删除指定行
    • 3.7 缩小矩阵·删除指定列
    • 3.8 查看矩阵的行数和列数
    • 3.9 矩阵转置
  • 4. 其它对照
    • 4.1 Matlab的cell格式与Python对照
    • 4.2 Matlab的struct格式与Python的字典对照
    • 4.3 小数取整
    • 4.4 程序暂停固定时长和记录运行时长
    • 4.5 生成随机数和随机数矩阵
  • 5. Python编程笔记
    • 5.1 元组添加元素
    • 5.2 字典按照索引取数据

1. 基础操作

1.1 循环

1.1.1 for 循环

· Matlab编程

for i = 1:3i
end

· Matlab输出
在这里插入图片描述
· Python编程

for i in range (1,4):print(i)

· Python输出
在这里插入图片描述
———————————————————————————————————

1.1.2 while 循环

· Matlab编程

a = 0;
while a < 3a = a+1
end

· Matlab输出
在这里插入图片描述
· Python编程

a = 0
while a < 3:a = a+1print(a)

· Python输出
在这里插入图片描述

———————————————————————————————————

1.2 if 判断

1.2.1 大小判断

· Matlab编程

% 输出a,b中较大的数
a = 1;
b = 2;
if a > ba
elseif a == ba
elseif a < bb
end
% 未涉及的符号还有:
%   大于等于:>=
%   小于等于:<=
%   不等于:~=

· Matlab输出
在这里插入图片描述
· Python编程

# 输出a,b中较大的数
a = 1
b = 2
if a > b:print (a)
elif a == b:print (a)
elif a < b:print (b)# 未涉及的符号还有:
#   大于等于:>=
#   小于等于:<=
#   不等于:!=

· Python输出
在这里插入图片描述
———————————————————————————————————

1.2.2 与、或、非

· Matlab编程

% 输出a,b,c中较大的数
a = 1;
b = 2;
c = 3;
if a >= b && a >=ca
elseif b >= a && b >= cb
elsec
end
% 或的符号为'||',用法同上
% 非的符号为'~',主要用作'~=',还有逻辑值判断

· Matlab输出
在这里插入图片描述

· Python编程

# 输出a,b,c中较大的数
a = 1
b = 2
c = 3
if a >= b and a >=c :print (a)
elif b >= a and b >= c :print (b)
else:print (c)
# 或的符号为'or',用法同上
% 非的符号为'!',主要用作'!='

· Python输出
在这里插入图片描述

———————————————————————————————————

2. 一维数组

2.1 创建数组

· Matlab编程(矩阵)

a = [1,2,3,4]

· Matlab输出
在这里插入图片描述

· Python编程(列表)

a = [1,2,3,4]
print(a)

· Python输出
在这里插入图片描述
———————————————————————————————————

2.2 置换数组中特定索引的元素

· Matlab编程

% 创建[1,2,3,4]一维数组,并将其中的第3个元素置换为0(matlab的索引自1开始,所以第3个元素的索引为3)
a = [1,2,3,4];
a(1,3) = 0

· Matlab输出
在这里插入图片描述
· Python编程

# 创建[1,2,3,4]一维数组,并将其中的第3个元素置换为0(python的索引自0开始,所以第3个元素的索引为2)
a = [1,2,3,4]
a[2] = 0
print(a)

· Python输出
在这里插入图片描述
———————————————————————————————————

2.3 输出数组中倒数第一和倒数第二个元素

· Matlab编程

a = [1,2,3,4];
a(end)
a(end-1)

· Matlab输出
在这里插入图片描述

· Python编程

a = [1,2,3,4]
print(a[-1])
print(a[-2])

· Python输出
在这里插入图片描述

———————————————————————————————————

2.4 扩大数组的长度

· Matlab编程

a = [1,2,3,4];
a(1,5) = 0

· Matlab输出
在这里插入图片描述

· Python编程

a = [1,2,3,4]+[0]
print(a)

· Python输出
在这里插入图片描述
———————————————————————————————————

2.5 缩小数组的长度(删除指定索引的元素)

· Matlab编程

% 删除a中的第2个元素
a = [1,2,3,4];
a(2) = []

· Matlab输出

在这里插入图片描述

· Python编程

# 删除a中的第2个元素
a = [1,2,3,4]
del a[1]
print(a)

· Python输出

在这里插入图片描述

———————————————————————————————————

2.6 数组同时加上相同的数值

· Matlab编程

% a数组中的元素全部加1
a = [1,2,3,4];
b = a + 1

· Matlab输出
在这里插入图片描述

· Python编程

# a数组中的元素全部加1
a = [1,2,3,4]
b = [i+1 for i in a]
print(b)

· Python输出

在这里插入图片描述

———————————————————————————————————

2.7 数组同时乘以相同的数值

· Matlab编程

% a数组中的元素全部乘以2
a = [1,2,3,4];
b = a*2

· Matlab输出
在这里插入图片描述

· Python编程

# a数组中的元素乘以2
a = [1,2,3,4]
b = [i*2 for i in a]
print(b)

· Python输出
在这里插入图片描述

———————————————————————————————————

2.8 找到特定元素在数组中的位置(索引)

· Matlab编程

a = [1,2,3,4];
b = 3;
find(a==b)

· Matlab输出
在这里插入图片描述

· Python编程

a = [1,2,3,4]
b = 3
print(a.index(b))

· Python输出
在这里插入图片描述
———————————————————————————————————

2.9 创建数值相同的数组

· Matlab编程

% 创建长度为5,数值都为2的数组
a = ones(1,5)*2

· Matlab输出
在这里插入图片描述
· Python编程

# 创建长度为5,数值都为2的数组
a = [2]*5
print(a)

· Python输出
在这里插入图片描述

———————————————————————————————————

2.10 创建数值连续(等差)的数组

· Matlab编程

% 创建15,间隔为1的数组
a = (1:5)% 创建28,间隔为2的数组
b = (2:2:8)

· Matlab输出
在这里插入图片描述
在这里插入图片描述
· Python编程

# 创建1到5,间隔为1的数组
a = list(range(1,6))
print(a)# 创建2到8,间隔为2的数组
b = list(range(2,9,2))
print(b)

· Python输出
在这里插入图片描述
———————————————————————————————————

2.11 数组排序

· Matlab编程

a = [1,3,5,2,4];
b = sort(a,"ascend")
c = sort(a,"descend")

· Matlab输出
在这里插入图片描述
在这里插入图片描述
· Python编程

a = [1,3,5,2,4]
b = sorted(a,reverse=0)
c = sorted(a,reverse=1)
print(b)
print(c)

· Python输出
在这里插入图片描述

———————————————————————————————————

2.12 数组排序后的原索引

· Matlab编程

a = [1,3,5,2,4];
[~,b] = sort(a,"ascend")

· Matlab输出
在这里插入图片描述
在这里插入图片描述
· Python编程

a = [1,3,5,2,4]
b = sorted(range(len(a)), key=lambda k:a[k], reverse=0)
c = sorted(range(len(a)), key=lambda k:a[k], reverse=1)
print(b)
print(c)

· Python输出
在这里插入图片描述
———————————————————————————————————

2.13 排除数组中重复的元素

· Matlab编程

a = [1,2,1,2,3];
b = unique(a)

· Matlab输出
在这里插入图片描述
· Python编程

a = [1,2,1,2,3]
b = list(set(a))
print(b)

· Python输出
在这里插入图片描述

———————————————————————————————————

3. 二维矩阵(python基于numpy)

3.1 创建指定行数和列数的矩阵

· Matlab编程

a = zeros(2,3)

· Matlab输出
在这里插入图片描述

· Python编程

import numpy
a = numpy.zeros((2,3))
print(a)

· Python输出
在这里插入图片描述

———————————————————————————————————

3.2 置换矩阵指定行的元素

· Matlab编程

a = zeros(2,3);
a(2,:) = [1,1,1]

· Matlab输出
在这里插入图片描述
· Python编程

import numpy
a = numpy.zeros((2,3))
a[1] = [1,1,1]
print(a)

· Python输出
在这里插入图片描述
———————————————————————————————————

3.3 置换矩阵指定列的元素

· Matlab编程

a = zeros(2,3);
a(:,2) = [1,1]

· Matlab输出
在这里插入图片描述
· Python编程

import numpy
a = numpy.zeros((2,3))
a[::,1] = [1,1]
print(a)

· Python输出
在这里插入图片描述
———————————————————————————————————

3.4 扩大矩阵·增加行

· Matlab编程

a = zeros(2,3);
a(end+1,:) = [1,1,1]

· Matlab输出
在这里插入图片描述
· Python编程

import numpy
a = numpy.zeros((2,3))
b = [1,1,1]
a = numpy.insert(a,2,b,axis=0)
print(a)

· Python输出
在这里插入图片描述
———————————————————————————————————

3.5 扩大矩阵·增加列

· Matlab编程

a = zeros(2,3);
a(:,end+1) = [1,1]

· Matlab输出
在这里插入图片描述

· Python编程

import numpy
a = numpy.zeros((2,3))
b = [1,1]
a = numpy.insert(a,3,b,axis=1)
print(a)

· Python输出
在这里插入图片描述
———————————————————————————————————

3.6 缩小矩阵·删除指定行

· Matlab编程

a = zeros(2,3);
a(2,:) = []

· Matlab输出
在这里插入图片描述
· Python编程

import numpy
a = numpy.zeros((2,3))
a = numpy.delete(a,1,axis=0)
print(a)

· Python输出
在这里插入图片描述
———————————————————————————————————

3.7 缩小矩阵·删除指定列

· Matlab编程

a = zeros(2,3);
a(:,2) = []

· Matlab输出
在这里插入图片描述
· Python编程

import numpy
a = numpy.zeros((2,3))
a = numpy.delete(a,1,axis=1)
print(a)

· Python输出
在这里插入图片描述
———————————————————————————————————

3.8 查看矩阵的行数和列数

· Matlab编程

a = [1,1,1;2,2,2];
b = size(a,1)
c = size(a,2)

· Matlab输出
在这里插入图片描述
在这里插入图片描述

· Python编程

import numpy
a = numpy.zeros((2,3))
a[0] = [1,1,1]
a[1] = [2,2,2]
b = a.shape[0]
c = a.shape[1]
print(b)
print(c)

· Python输出
在这里插入图片描述

———————————————————————————————————

3.9 矩阵转置

· Matlab编程

a = [1,1,1;2,2,2];
b = a'

· Matlab输出
在这里插入图片描述
· Python编程

import numpy
a = numpy.ones((2,3))
a[0] = [1,1,1]
a[1] = [2,2,2]
b = numpy.transpose(a)
print(b)

· Python输出
在这里插入图片描述

———————————————————————————————————

4. 其它对照

4.1 Matlab的cell格式与Python对照

· Matlab编程

a = [{0},{[1,2,3]},{"str"}]
b = a{1,2}

· Matlab输出
在这里插入图片描述
在这里插入图片描述
· Python编程

a = [0,[1,2,3],"str"]
b = a[1]
print(a)
print(b)

· Python输出
在这里插入图片描述———————————————————————————————————

4.2 Matlab的struct格式与Python的字典对照

· Matlab编程

a = struct("Name",["Alice","Sebastian"],"Age",[18,19])
b = a.Name(1,1)
c = a.Age(1,1)

· Matlab输出
在这里插入图片描述
· Python编程

a = {"Name":["Alice","Sebastian"],"Age":[18,19]}
b = a["Name"][0]
c = a["Age"][0]
print(a)
print(b)
print(c)

· Python输出
在这里插入图片描述

———————————————————————————————————

4.3 小数取整

· Matlab编程

a = 1.414
b = floor(a)  % 向下取整
c = ceil(a)   % 向上取整
d = round(a)  % 四舍五入

· Matlab输出
在这里插入图片描述
· Python编程

import math
a = 1.414
b = math.floor(a)  # 向下取整
c = math.ceil(a)   # 向上取整
d = round(a)       # 四舍五入
print(a)
print(b)
print(c)
print(d)

· Python输出
在这里插入图片描述
———————————————————————————————————

4.4 程序暂停固定时长和记录运行时长

· Matlab编程

tic
for i = 1:3pause(1)
end
toc

· Matlab输出
在这里插入图片描述
· Python编程

import time
tic = time.time()
for i in range(1,4):time.sleep(1)
toc = time.time()
print (toc-tic)

· Python输出
在这里插入图片描述

———————————————————————————————————

4.5 生成随机数和随机数矩阵

· Matlab编程

a = rand
b = rand(2,3)

· Matlab输出
在这里插入图片描述
· Python编程

import numpy
a = numpy.random.rand()
b = numpy.random.rand(2,3)
print(a)
print(b)

· Python输出
在这里插入图片描述
———————————————————————————————————

5. Python编程笔记

5.1 元组添加元素

· 程序

a = (1,2)         # 必须存在2个及以上的元素
b = a + (3,)      # 必须加‘,’
print(b)

· 输出

在这里插入图片描述

5.2 字典按照索引取数据

· 程序

a = {'L': 'On',\'W': 'Off', \'S': 'On'}
Output0 = tuple(a.items())[0]
Output01 = tuple(a.items())[0][1]
print(Output0)
print(Output01)

· 输出

在这里插入图片描述

———————————————————————————————————

……

2022.10.02 / 21:16 / me : 希望后面的“me”能够继续更新,这次写到了第12条。
2022.10.03 / 14:14 / me:收到,接力。
2022.10.03 / 15:15 / me:本次结束,更新到第18条,同样后面的“me”能够继续更新。
2022.10.05 / 19:08 / me:接力。
2022.10.05 / 20:07 / me:本次结束,更新到第23条,同样希望后面的“me”能够继续更新,再加一些就差不多了。
2022.11.05 / 13:51 / me:时隔一个月,今天花了几个小时的功夫增添了一些内容,分了一下类。之前的打算是把该博客作为一个入门,以后编程的话另作编程笔记。今天整理之后觉得可以直接把笔记记到这里,也方便后面随时取用,所以增添了第5章。

代码有疏漏或是改进的地方,欢迎指正!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部