clear;clc; % 6个工地坐标 a=[1.25 8.75 0.5 5.75 3 7.25]; b=[1.25 0.75 4.75 5 6.5 7.75]; % 临时料场位置 x=[5 2]; y=[1 7]; % 6个工地水泥日用量 d=[3 5 4 7 6 11]; % 计算目标函数系数,即6工地与两个料场的距离,总共12个值 for i=1:6 % 对于6个工地 for j=1:2 % 接收两个料场的供用 l(i,j)=sqrt((x(j)-a(i))^2+(y(j)-b(i))^2); % 距离 end end
时间: 2024-04-21 18:24:43 浏览: 223
这段代码计算了6个工地与两个临时料场的距离。首先,定义了6个工地的坐标a和b,以及两个临时料场的坐标x和y。然后使用两层循环,计算了每个工地与两个料场之间的距离,并将结果存储在矩阵l中。具体地,通过计算欧几里得距离的公式 sqrt((x(j)-a(i))^2+(y(j)-b(i))^2),将每个工地与两个料场的距离计算出来,并存储在l矩阵中。最终,l矩阵会包含12个值,代表了6个工地与两个料场之间的距离。
相关问题
详细分析程序:%%混合同余法 clear clc %% %初始化 A=65539; N=1200; x0=1; M=2147483647; C=1; for k=1:N y=A*x0+C; x1=mod(y,M); v1=x1/2147483647;%将x1中的数除以M得到小于1的随机数 v(:,k)=v1; x0=x1; v0=v1; end v2=v;%保存0-1随机数到v2 ave=mean(v) var=var(v) k1=k; save v; %% %绘图程序 k=1:k1; plot(k,v,'b'); xlabel('k');ylabel('v');title('(0-1)'); %% figure [num,val]=hist(v,10); num1=num/N;%频数转换成频率分布 hist(v,10); figure plot(val,num1,'b');
这段程序使用了混合同余法生成一组随机数,并进行了统计分析和绘图。下面是对程序的详细分析:
1. 清除工作空间和命令窗口中的变量和内容。
```matlab
clear
clc
```
2. 初始化一些参数和变量。
```matlab
A = 65539; % 常数 A
N = 1200; % 序列的个数
x0 = 1; % 初始值 x0
M = 2147483647; % 常数 M
C = 1; % 常数 C
```
3. 使用 for 循环生成随机数序列。
```matlab
for k = 1:N
y = A * x0 + C; % 计算 y 值
x1 = mod(y, M); % 对 y 取模得到 x1
v1 = x1 / 2147483647; % 计算 v1,将 x1 中的数除以 M 得到小于 1 的随机数
v(:, k) = v1; % 将 v1 存入数组 v 中
x0 = x1; % 更新 x0 的值为 x1,为下一次循环准备
v0 = v1; % 将 v1 存入变量 v0 中(这个变量好像没有被使用到)
end
v2 = v; % 将 0-1 随机数保存到 v2 中
```
4. 计算生成的随机数序列的平均值和方差,并将结果输出到命令窗口。
```matlab
ave = mean(v) % 计算平均值
var = var(v) % 计算方差
k1 = k % 将循环变量 k 的值保存到 k1 中(这个变量好像没有被使用到)
save v % 将生成的随机数序列保存到文件 v 中
```
5. 绘制生成的随机数序列的图像。
```matlab
k = 1:k1; % 创建一个序列,用于横坐标
plot(k, v, 'b'); % 绘制图像,横坐标为 k,纵坐标为 v,线条颜色为蓝色
xlabel('k'); ylabel('v'); title('(0-1)'); % 添加横坐标、纵坐标和标题
```
6. 创建一个新的图形窗口,绘制生成的随机数序列的直方图。
```matlab
figure;
[num, val] = hist(v, 10); % 计算 v 中每个值在 10 个区间内的频数
num1 = num / N; % 将频数转换为频率分布
hist(v, 10); % 绘制直方图
```
7. 创建另一个新的图形窗口,绘制生成的随机数序列的频率分布图。
```matlab
figure;
plot(val, num1, 'b'); % 绘制频率分布图,横坐标为 val,纵坐标为 num1,线条颜色为蓝色
```
这样,程序就完成了生成随机数序列、统计分析和绘图的过程。
clc; clear; m=500000; %总质量 co=4500; cv=150; %%%%%%%%%%chen ca=1; g=9.8; center1=-1.5:0.1:1.5; center=[center1;center1]; % 神经网络中心 width=2; % 神经网络宽度 % rbfc=3000*ones(31,1); % 神经网络加权矩阵 % kesi=0.008; kesi0=0.01; %dd=500; deta0=0.001; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%调节参数 ro=1; rv=1; ra=1; rm=1; r2=1; gama=1*eye(31); roo=1; ww=1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%初值 z1=0.1; z2=0.1*10^6; v_max=0.5*10^6; % v_max=0.7*10^6; v_min=-0.5*10^6; aa=1;
这段代码是一个MATLAB程序的开头部分,主要包括了清空变量、设置初始值、定义一些常数等内容。具体来说:
- clc和clear语句用于清空命令窗口和工作空间中的变量。
- m表示系统的总质量,co、cv和ca分别表示系统的热容、容积和压缩系数。
- g表示重力加速度,center1是一个向量,表示神经网络中心的初始值。
- center是一个2行31列的矩阵,表示神经网络中心的初始值。
- width表示神经网络的宽度,rbfc是一个31行1列的向量,表示神经网络加权矩阵的初始值。
- kesi、kesi0、deta0等变量是一些调节参数,用于控制程序的运行效果。
- ro、rv、ra、rm、r2、gama、roo、ww等变量也是一些常数,用于计算系统的物理量。
- z1、z2等变量是一些初始值,用于进行仿真计算。
- v_max和v_min分别表示系统速度的最大值和最小值,aa是一个常数,用于计算系统的加速度。
需要注意的是,这段代码只是程序的开头部分,具体的仿真计算过程可能在后续的代码中实现。
阅读全文
相关推荐

















