clear;

clc;

u0=4*pi*10^(-7);%真空磁导率/(H/m)

n1=60;%线圈匝数

n2=60;%线圈匝数

r1=30;%线圈半径/(cm)

r2=30;%线圈半径/(cm)

c=0;

R1=20;%电路内电阻

R2=20;%电路内电阻

RL=50;%负载电阻

w=2*pi;

Us=1;%电源电压

t=linspace(0,40,80);

h=linspace(0,40,80);

[T,H]=meshgrid(t,h);

fun=@(a,b,T,H)(cos(a).*cos(b)+sin(a).*sin(b).*cos(c))./((r1*cos(a)-r2*cos(b)).^2+(r1*sin(a).*cos(c)+T-r2*sin(b)).^2+(-r1*sin(a).*sin(c)+H).^2).^0.5;

M=(u0*r1*r2*n1*n2/4*pi)*arrayfun(@(T,H)integral2(@(a,b)fun(a,b,T,H),0,2*pi,0,2*pi),T,H);

P=((w*M*Us).^2)*RL./((R1*(R2+RL)+(w*M).^2)).^2;

n=(w*M).^2*RL*100./(R1*(R2+RL).^2+(R2+RL)*(w*M).^2);

surf(T,H,n);

hold on;

title('传输效率n随轴向距离t、径向距离h变化关系');

x1=xlabel('轴向距离t/(cm)');%x轴标题

x2=ylabel('径向距离h/(cm)');%y轴标题

x3=zlabel('传输效率η/(%)');%z轴标题

format short;

% 定义初始节点(t0,h0)

t0=5;h0=5;

% 定义近邻节点范围

dt=5;dh=5;

% 定义近邻节点划分份数

nT=5;nH=5;

% 定义计算精度

ep=1e-4;

gg=1;

grid on;

title(['爬山算法 ——','第',num2str(gg),'次搜素']);

hold on;

val1=0;

FUN=@(a,b,t0,h0)(cos(a).*cos(b)+sin(a).*sin(b).*cos(c))./((r1*cos(a)-r2*cos(b)).^2+(r1*sin(a).*cos(c)+t0-r2*sin(b)).^2+(-r1*sin(a).*sin(c)+h0).^2).^0.5;

M1=(u0*r1*r2*n1*n2/4*pi)*arrayfun(@(t0,h0)integral2(@(a,b)FUN(a,b,t0,h0),0,2*pi,0,2*pi),t0,h0)

n10=(w*M1).^2*RL*100./(R1*(R2+RL).^2+(R2+RL)*(w*M1).^2)

plot3(t0,h0,n10,'r.');

gg=1;%gg为搜索次数

dlt=1;%dlt为函数差值

hold on;

while(dlt>ep)   %ep为计算精度

nt=linspace(t0-dt,t0+dt,nT*gg);

nh=linspace(h0-dh,h0+dh,nH*gg);

[ntt,nhh]=meshgrid(nt,nh);

Fun=@(a,b,nt,nh)(cos(a).*cos(b)+sin(a).*sin(b).*cos(c))./((r1*cos(a)-r2*cos(b)).^2+(r1*sin(a).*cos(c)+nt-r2*sin(b)).^2+(-r1*sin(a).*sin(c)+nh).^2).^0.5;

M2=(u0*r1*r2*n1*n2/4*pi).*arrayfun(@(nt,nh)integral2(@(a,b)Fun(a,b,nt,nh),0,2*pi,0,2*pi),ntt,nhh)

n22=(w*M2).^2*RL*100./(R1*(R2+RL).^2+(R2+RL)*(w*M2).^2)

% 求解近邻节点最大值及其位置

[val2,loc]=max(n22(:));

dlt=abs(n10-val2);

t0=ntt(loc);

h0=nhh(loc);

val1=val2;

plot3(t0,h0,val2,'r.');

title(['爬山算法 ——','第',num2str(gg),'次搜素']);

pause(0.1);       % 暂停0.1

gg=gg+1;

end

% 绘制最终极大值点

plot3(t0,h0,val2,'ro');

hold off

爬山算法matlab程序,爬山搜索算法编程相关推荐

  1. 爬山算法matlab程序,爬山算法和模拟退火算法

    爬山算法 大体思路 爬山算法即是模拟爬山的过程,随机选择一个位置爬山,每次朝着更高的方向移动,直到到达山顶 具体操作 把当前的节点和要走的节点的值进行比较. 如果当前节点是最大的,那么不进行操作:反之 ...

  2. 极值滤波matlab,极值滤波算法MATLAB程序及处理结果对比

    <极值滤波算法MATLAB程序及处理结果对比>由会员分享,可在线阅读,更多相关<极值滤波算法MATLAB程序及处理结果对比(5页珍藏版)>请在人人文库网上搜索. 1.极值滤波算 ...

  3. 亮度均匀性 matlab,求:亮度保持的夜景图像直方图均衡算法 matlab程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 求:亮度保持的夜景图像直方图均衡算法 matlab程序 我是大四学生,最近在做一个论文,头疼死了,不知道这个论文的程序怎么写.这里是matlab论坛 我想 ...

  4. 标准差分进化算法matlab程序实现(转载)

    标准差分进化算法matlab程序实现 自适应差分演化算法方面的Matlab和C++代码及论文 差分进化算法 DE-Differential Evolution matlab练习程序(差异演化DE) [ ...

  5. 鲍威尔法源程序码matlab,鲍威尔算法matlab程序f.doc

    鲍威尔算法matlab程序f.doc functionf=fun(x)f=10*(x(1)+x(2)-5)^2+(x(1)-x(2))^2;functionf=fx(x0,alpha,s)x1=x0+ ...

  6. 风电功率预测优化算法MATLAB程序基于改进神经网络

    风电功率预测优化算法MATLAB程序基于改进神经网络 (1) 该程序为基于改进神经网络的风电功率预测优化算法程序,风电预测程序,期刊论文源程序,配有该论文. (2) 该程序所用的ICA-BP 神经网络 ...

  7. C++调用MATLAB程序进行混合编程以及常见问题解决

    C++调用MATLAB程序进行混合编程以及常见问题解决 C++调用MATLAB程序方法 MATLAB打包生成DLL动态链接库 VS2017环境配置 程序调用 常见问题解决 参考 C++调用MATLAB ...

  8. svm算法 matlab,SVM算法matlab程序

    经典SVM算法matlab程序\svm\binomial.m 经典SVM算法matlab程序\svm\centrefig.m 经典SVM算法matlab程序\svm\cmap.mat 经典SVM算法m ...

  9. 基2FFT算法matlab程序编写,按时间抽取的基2FFT算法分析及MATLAB实现

    按时间抽取的基2FFT 算法分析及MATLAB 实现 1 DIT-FFT 算法的基本原理 有限长序列x (n )的N 点DFT 定义为:∑-==10 )()(N n n k N W n x k X , ...

最新文章

  1. GHOST系统封装详细图文教程
  2. No bean named 'dataSource' is defined
  3. 【数据结构笔记】B树和B+树的实现,哈希查找,STL中的hash_map和unordered_map容器用法
  4. React开发(124):ant design学习指南之form中的validateFields
  5. python 文件和目录 当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。
  6. leetcode - 120. 三角形最小路径和
  7. wait_event_interruptible 在驱动中的应用
  8. echarts时间轴传什么格式_职场必看,使用Excel实现大事件时间轴的做法,不看后悔...
  9. tp5 linux定时,TP5 用cron实现linux定时任务
  10. Linux 下源代码阅读工具 —— vim + TagList + CTags
  11. python实现不同图像数据的叠加处理、实现多张图像数据以子图形式组合为新的图像数据【图像叠加、图像组合】
  12. linux文件权限中 chmod、u+x、u、r、w、x分别代表什么
  13. Excel:仅选择可见的单元格
  14. linux下xz格式,【转载】Linux下tar.xz格式文件的解压方法
  15. SQL Injection的猥琐技巧
  16. python进程/线程/协成
  17. HOJ 1568 Fibonacci(对数,数列通项公式)
  18. SNF开发平台-SNF.CodeGenerator-升级生成BS页面代码-支持视图-数据库配置-快速开发者的利器...
  19. 有太多工作要做,传蚂蚁集团IPO可能推迟至2022年
  20. Pytorch问题及解决:‘lengths‘ argument should be a 1D CPU int64 tensor, but got 1D cuda:0 Long tensor

热门文章

  1. js创建数组注意事项
  2. 微信现金红包asp源码开发的微信一物一码红包系统,asp微信现金红包源码
  3. halcon学习记录 第二课(2)------使用halcon打开相机
  4. 9 设计简介PPT模板
  5. 个人网页中心html,个人网页
  6. SpringUtil获取Spring容器对象
  7. 荒野行动系统推荐观战榜_《荒野行动》好友观战方法解析
  8. A-Star算法探索和实现(四)
  9. PX4从放弃到精通(二):ubuntu18.04配置px4编译环境及mavros环境
  10. Python版大富翁源代码