www.2zcode.com
时间: 2023-12-29 09:00:33 浏览: 50
www.2zcode.com是一个专业的二维码生成和管理平台,用户可以在这个网站上免费生成各种类型的二维码,包括网址、文本、名片、电话、邮件等。用户只需简单地输入要生成二维码的内容,选择二维码的样式和颜色,就能轻松生成自己想要的二维码。
此外,www.2zcode.com还提供了二维码的管理功能,用户可以注册登录后,对生成的二维码进行管理和编辑。用户可以随时查看自己生成的二维码,修改二维码的内容和样式,也可以随时删除不需要的二维码。
www.2zcode.com还提供了详细的使用教程和二维码的相关知识,帮助用户更好地了解和使用二维码。对于新手来说,这些教程和知识是非常有帮助的,可以帮助他们轻松上手二维码的使用。
总的来说,www.2zcode.com是一个功能齐全、方便易用的二维码生成和管理平台,无论是个人用户还是企业用户,都可以在这个网站上轻松生成和管理自己的二维码。并且网站提供了详细的使用教程和相关知识,让用户更好地了解和利用二维码。
相关问题
将以下代码转换为python:function ret=zcode(M,N) %M为辅助坑道数量 %单元总数N y=zeros(1,2M+1);%是否选择该分段点 z=zeros(1,2M+2);%每段的施工方向 W=zeros(1,2M+2);%施工模式 x=randperm(N-1,2M+1);%分段点位置,默认升序不重复整数 for i=1:2M+1 y(i)=randi([0 1]); end for i=1:2M+2 z(i)=randi([0 1]);%0是左向,1是右向 W(i)=randi([1 3]); end ret=[x,y,z,W]; end
以下是Python代码:
```python
import numpy as np
def zcode(M, N):
# M为辅助坑道数量,单元总数N
y = np.zeros(2*M+1) # 是否选择该分段点
z = np.zeros(2*M+2) # 每段的施工方向
W = np.zeros(2*M+2) # 施工模式
x = np.random.choice(range(N-1), size=2*M+1, replace=False) # 分段点位置,默认升序不重复整数
for i in range(2*M+1):
y[i] = np.random.randint(2) # 0或1
for i in range(2*M+2):
z[i] = np.random.randint(2) # 0是左向,1是右向
W[i] = np.random.randint(1, 4) # 1、2、3
ret = [x.tolist(), y.tolist(), z.tolist(), W.tolist()]
return ret
```
注意,Python的数组下标是从0开始的,而MATLAB是从1开始的。另外,Python中没有MATLAB中的函数randperm,需要用numpy中的函数np.random.choice代替,其功能是从一个范围内随机选择一些数。
将以下代码转换为python:%产生初始种群 flag11=1; while flag11==1 GApop0=zeros(popsize,8*M+6); for i=1:popsize GApop0(i,:)=zcode(M,N); end fitness=zeros(popsize,1);%费用 fitness1=zeros(popsize,1);%适应度函数 a=zeros(popsize,2*M+3+N-1); %工期 bestChrom=zeros(maxgen,8*M+6); bestfit=zeros(maxgen,1); %每代最优费用 bestT=zeros(maxgen,2*M+3+N-1); %每代最优费用对应的工期 elite=zeros(maxgen,8*M+6); %精英解 elitefit=zeros(maxgen,1); %精英值 for j=1:popsize a(j,:)=ztime(GApop0(j,:),M,N,Tn0,Tn1,Q,ST0); fitness(j,1)=zcost(GApop0(j,:),M,N,a(j,1),a(j,2:2*M+3),a(j,2*M+4:2*M+2+N),LCR,ECR,MCR,FC,ICR,Q); end for j=1:popsize if a(j,1) > maxT fitness(j,1)=10^100; end end if all(fitness(:,1)==10^100) flag11=1; %重新生成初始种群 else flag11=0; end end fitness1=1./fitness; %适应度值取倒数,成本最小,倒数最大 %精英选择 indexmin=find(fitness==min(fitness));%查找非零元素的索引和值 if length(indexmin)>1 indexmin=randsample(indexmin,1);%从整数1到indexmin中无放回随机均匀抽取1个值。 end elite(1,:)=GApop0(indexmin,:); elitefit(1,:)=fitness(indexmin,:);
以下是 Python 代码:
```python
flag11 = 1
while flag11 == 1:
GApop0 = np.zeros((popsize, 8*M+6))
for i in range(popsize):
GApop0[i, :] = zcode(M, N)
fitness = np.zeros((popsize, 1)) # 费用
fitness1 = np.zeros((popsize, 1)) # 适应度函数
a = np.zeros((popsize, 2*M+3+N-1)) # 工期
bestChrom = np.zeros((maxgen, 8*M+6))
bestfit = np.zeros((maxgen, 1)) # 每代最优费用
bestT = np.zeros((maxgen, 2*M+3+N-1)) # 每代最优费用对应的工期
elite = np.zeros((maxgen, 8*M+6)) # 精英解
elitefit = np.zeros((maxgen, 1)) # 精英值
for j in range(popsize):
a[j, :] = ztime(GApop0[j, :], M, N, Tn0, Tn1, Q, ST0)
fitness[j, 0] = zcost(GApop0[j, :], M, N, a[j, 0], a[j, 1:2*M+3], a[j, 2*M+4:2*M+2+N], LCR, ECR, MCR, FC, ICR, Q)
for j in range(popsize):
if a[j, 0] > maxT:
fitness[j, 0] = 10 ** 100
if np.all(fitness[:, 0] == 10 ** 100):
flag11 = 1 # 重新生成初始种群
else:
flag11 = 0
fitness1 = 1 / fitness # 适应度值取倒数,成本最小,倒数最大
# 精英选择
indexmin = np.where(fitness == np.min(fitness))[0] # 查找非零元素的索引和值
if len(indexmin) > 1:
indexmin = np.random.choice(indexmin, size=1) # 从整数1到indexmin中无放回随机均匀抽取1个值。
elite[0, :] = GApop0[indexmin[0], :]
elitefit[0, :] = fitness[indexmin[0], :]
```
需要注意的是,Python 中的 `zeros` 函数用于创建指定大小的全零数组,而 MATLAB 中的 `zeros` 函数不仅可以创建全零数组,还可以创建指定大小的全零矩阵。因此,在 Python 中需要使用 `np.zeros` 函数创建全零数组。另外,Python 中的 `where` 函数返回的是符合条件的元素的下标,需要通过 `[0]` 取出第一个元素的下标。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)