急求matlab车辆调度遗传算法代码,需求车辆行驶最优路径。

急求matlab车辆调度遗传算法代码,需求车辆行驶最优路径。,第1张

function [path,lmin]=ga(data,d) %data为点集,d为距离矩阵,即赋权图
tic
%======================
sj0=data;%开环最短路线
%=================================
% sj0=[data;data(1,:)]; %闭环最短路线
%=========================
x=sj0(:,1);y=sj0(:,2);
N=length(x);
%=========================
% d(N,:)=d(1,:);%闭环最短路线
% d(:,N)=d(:,1);%距离矩阵d
%======================
L=N; %sj0的长度
w=800;dai=1000;
%通过改良圈算法选取优良父代A
for k=1:w
c=randperm(L-2);
c1=[1,c+1,L];
flag=1;
while flag>0
flag=0;
for m=1:L-3
for n=m+2:L-1
if d(c1(m),c1(n))+d(c1(m+1),c1(n+1))<d(c1(m),c1(m+1))+d(c1(n),c1(n+1))
flag=1;
c1(m+1:n)=c1(n:-1:m+1);
<a href=">

1、首先双击打开电脑桌面上matlab软件,点击matlab *** 作界面上面的新建变量,如下图所示。

2、这时候会出现一个表格,此时将你需要处理的数据填在表格,有几个变量就要新建几个表格,本例子用两个变量,分别为X,Y。

3、新建的X数据如下图,此时变量默认为unnamed(未命名)。

4、接着对所需要的变量进行命名,下面以X为说明,右击选择重命名,输入X。

5、然后在命令窗口输入cftool,点击电脑Enter键,如下图所示。

6、最后从列表中选择Smoothing Spline(平滑逼近),如下图所示,这样Smoothing Splinel拟合曲线就做好了。

§1线性规划模型;一、线性规划课题:;实例1:生产计划问题;假设某厂计划生产甲、乙两种产品,现库存主要材料有;建立数学模型:;设x1、x2分别为生产甲、乙产品的件数;maxf=70x1+120x2;st9x1+4x2≤3600;4x1+5x2≤2000;3x1+10x2≤3000;x1,x2≥0;归结出规划问题:目标函数和约束条件都是变量x的线;形如:(1
§1 线性规划模型
一、线性规划课题:
实例1:生产计划问题
假设某厂计划生产甲、乙两种产品,现库存主要材料有A类3600公斤,B类2000公斤,C类3000公斤。每件甲产品需用材料A类9公斤,B类4公斤,C类3公斤。每件乙产品,需用材料A类4公斤,B类5公斤,C类10公斤。甲单位产品的利润70元,乙单位产品的利润120元。问如何安排生产,才能使该厂所获的利润最大。
建立数学模型:
设x1、x2分别为生产甲、乙产品的件数。f为该厂所获总润。
max f=70x1+120x2
st 9x1+4x2≤3600
4x1+5x2≤2000
3x1+10x2≤3000
x1,x2≥0
归结出规划问题:目标函数和约束条件都是变量x的线性函数。
形如: (1) min f T X
st A X≤b
Aeq X =beq
lb≤X≤ub
其中X为n维未知向量,f T=[f1,f2,…fn]为目标函数系数向量,小于等于约束系数矩阵A为m×n矩阵,b为其右端m维列向量,Aeq为等式约束系数矩阵,beq为等式约束右端常数列向量。lb,ub为自变量取值上界与下界约束的n维常数向量。
二.线性规划问题求最优解函数:
调用格式: x=linprog(f,A,b)
x=linprog(f,A,b,Aeq,beq)
x=linprog(f,A,b,Aeq,beq,lb,ub)
x=linprog(f,A,b,Aeq,beq,lb,ub,x0)
x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)
[x,fval]=linprog(…)
[x, fval, exitflag]=linprog(…)
[x, fval, exitflag, output]=linprog(…)
[x, fval, exitflag, output, lambda]=linprog(…)
说明:x=linprog(f,A,b)返回值x为最优解向量。

MATLAB基本的使用方法
1 读取图像:用imread函数读取图像文件,文件格式可以是TIFF、JPEG、GIF、BMP、PNG等。比如
2 >> f = imread('chestxrayjpg');
读进来的图像数据被保存在变量f中。尾部的分号用来抑制输出。如果是彩色的,可以用rgb2gray转换成灰度图:
>> f = rgb2gray(f);
然后可以用size函数看图像的大小
>> size(f)
如果f是灰度图像,则可以用下面的命令把这个图像的大小赋给变量M和N
>> [M, N] = size(f);
用whos命令查看变量的属性
>> whos f
3 显示图像:用imshow显示图像
4 imshow(f, G)
其中f是图像矩阵,G是像素的灰度级,G可以省略。比如
>> imshow(f, [100 200])
图像上所有小于等于100的数值都会显示成黑色,所有大于等于200的数值都会显示成白色。pixval命令可以用来查看图像上光标所指位置的像素值。
pixval
例如
>> f = imread('rose_512tif');
>> whos f
>> imshow(f)
如果要同时显示两幅图像,可以用figure命令,比如
>> figure, imshow(g)
用逗号可以分割一行中的多个命令。imshow的第二个参数用一个空的中括号:
>> imshow(h, [])
可以使动态范围比较窄的图像显示更清楚。
5 写图像。用imwrite写图像
6 imwrite(f, 'filename')
文件名必须包括指明格式的扩展名。也可以增加第三个参数,显式指明文件的格式。比如
>> imwrite(f, 'patient10_run1tif', 'tif')
也可以写成
>> imwrite(f, 'patient10_run1tif')
还可以有其他参数,比如jepg图像还有质量参数:
>> imwrite(f, 'filenamejpg', 'quality', q)
q是0到100之间的一个整数。对比不同质量的图像效果。用imfinfo命令可以查看一个图像的格式信息,比如
>> imfinfo bubbles25jpg
可以把图像信息保存到变量中
>> K = imfinfo('bubbles25jpg');
>> image_bytes = KWidth KHeight KBitDepth / 8;
>> compressed_btyes = KFileSize;
>> compression_ratio = image_bytes / compressed_bytes
7 数据类型。MATLAB的数据类型包括:
8 double 双精度浮点
9 uint8 无符号8位整数
10 uint16 无符号16位整数
11 uint32 无符号32位整数
12 int8 有符号8位整数
13 int16 有符号16位整数
14 int32 有符号32位整数
15 single 单精度
16 char 字符
17 logical 逻辑型(二值)
数据类型转换
B = data_class_name(A)
比如
>> C = [14 15]
>> D = uint8(C)
图像类型分为:
Intensity image 灰度图
Binary image 二值图
Indexed image 索引图
RGB image 彩色图
在灰度图中每个像素可以是整型、浮点型或者逻辑型。图像类型的像素类型可以转换
function to from
im2uint8 uint8 logical,uint8,uint16,double
im2uint16 uint16 logical,uint8,uint16,double
mat2gray double double
im2double double logical,uint8,uint16,double
im2bw logical uint8,uint16,double
比如
g = mat2gray(A, [Amin, Amax]);
g = mat2gray(A);
g = im2double(h);
g = im2bw(f, T)
其中A是浮点型的图像,Amin和Amax是浮点数的范围,h和f是任意类型的图像,T是分割的阈值。
18 数组(向量)索引:创建向量(数组):
19 >> v = [1 3 5 7 9 11 13]
用小括号对向量进行索引(取数组中的某个元素):
>> v(2)
转置(将行向量通过转置变成列向量):
>> w = v'
取向量其中的一部分:
>> v(1:3) 第1个到第3个
>> v(2:4)
>> v(3:end) 第3个到最后一个
>> v(1:end)
>> v(:) 全部
>> v(1:2:end) 第1个到最后一个,每次增加2
>> v(end:-2:1) 最后一个到第1个,每次减2
其中end总是表示最后一个。
>> x = linspace(1, 5, 10)
>> v([1 4 5])
linspace函数产生一个范围内的平均分布。
20 矩阵索引:创建矩阵
21 >> A = [1 2 3; 4 5 6; 7 8 9]
取矩阵中的一个元素
>> A(2, 3)
取矩阵中的一行或者一列
>> C3 = A(:, 3)
>> R2 = A(2, :)
取矩阵中某些行某些列
>> T2 = A(1:2, 1:3)
对矩阵中某些元素进行赋值:
>> B = A;
>> B(:, 3) = 0
用end表示最后一行或者最后一列:
>> A(end, end) 最后一行最后一列
>> A(end, end-2) 最后一行倒数第三列
>> A(2:end, end:-2:1) 第2行到最后一行,最后一列到第一列,每次减2

这个……楼主想的有点简单了吧。系统级仿真就算是请2个实习生,也得边上个2、3周左右才能搞定呢,楼主给的奖励太少拉,哈哈。我们实验室给人开发MATLAB的仿真平台一个系统报价都要十万以上才给做的。另外资源调度有轮询、最大C/I和比例公平等多种算法,楼主要哪一种。调度的业务有实时、流媒体、网页浏览等等,楼主要调度哪种业务?楼主的Lte系统带宽、频率配置、双工方式是什么?楼主仿真的网络拓扑和传播模型是要什么样子的?需不需要考虑MIMO、分层异构?好歹也是悬赏提问,楼主也把问题说清楚嘛,多打几个字没坏处哈。就楼主这样提问,我想帮忙也没得帮啊。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13336889.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-17
下一篇 2023-07-17

发表评论

登录后才能评论

评论列表(0条)

保存