MATLAB简单潮流计算程序如下:
function lianxuchaoliu
clear
clc
n=9%节点数;
nl=9%支路数;
isb=1%平衡节点号;
pr=0.00001%误猛桐局差精度;
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首轮歼屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的枝让程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
function u1=select(u)%u是输入,u1是输出
%选择函数
%从i等于1到10计算适应度函数赋值给y
for i=1:10
y(i)=syd(u(i,:))
end
%求y的和
F=sum(y)
%并将适应度函数赋值除以他的和
P=y/F
s=0
%Q为累计概率
for i=1:10
s=s+P(i)
Q(i)=s
end
%找到y中的最大值的值m和位置I
[m,I]=max(y)
取输入的u总I的解赋值给u1中第9个解的位置
u1(9,:)=u(I,:)
取输入的u总I的解赋值给u1中第10个解的位置
u1(10,:)=u(I,:)
%得到一个8行1列的随机数(0-1之间)
r=rand(8,1)
%对应i等于1到8
for i=1:8
%如果r的第i个随机数小于Q的第一个值
if r(i)<Q(1)
%u的第一个解赋值给u1的第i个解
u1(i,:)=u(1,:)
%否神旁则如果r的第i个随机数大于Q的第一个值,并且r的第i个随机数大于Q的第二春旦个值
elseif r(i)>=Q(1)&r(i)<Q(2)
%u的第二个解赋值给u1的第i个解
u1(i,:)=u(2,:)
elseif r(i)>=Q(2)&r(i)<Q(3)
u1(i,:)=u(3,:)
elseif r(i)>=Q(3)&r(i)<Q(4)
u1(i,:)=u(4,:)
elseif r(i)>=Q(4)&r(i)<Q(5)
u1(i,:)=u(5,:)
elseif r(i)>=Q(5)&r(i)<Q(6)
u1(i,:)=u(6,:)
elseif r(i)>=Q(6)&r(i)<Q(7)
u1(i,:)=u(7,:)
elseif r(i)>=Q(7)&r(i)<Q(8)
u1(i,:)=u(8,:)
elseif r(i)>游森橡=Q(8)&r(i)<Q(9)
u1(i,:)=u(9,:)
else
u1(i,:)=u(10,:)
end
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)