FCC文件

缺省设置:

(XNote=请修改为X轴单位) (YNote=请修改为Y轴单位)

(AutoY=1) (XMin=0) (XMax=1) (YMin=0) (YMax=1)

(BorderPixels=60) (MultiplyX=1) (MultiplyY=1) (Grid=0) (DivideXY=10) (XYNumWidth=3) (DataMax=2)

(ForMax=50) (LoadDll=)

[CODE]

// 通用设置:

// (XNote=请修改为X轴单位) (YNote=请修改为Y轴单位)

// (AutoY=1) (XMin=0) (XMax=30) (YMin=0) (YMax=1)

// (BorderPixels=80) (MultiplyX=1) (MultiplyY=1) (Grid=0) (DivideXY=10)  (XYNumWidth=3) (DataMax=6)

// (ForMax=50) (LoadDll="dll\FcData32W" "dll\XSLSF32W") (DotColor=0) (DotSize=10)

/*[LINE]

(_DataDot0=1,30,0,3,16711680)

(_DataLine0=1,1000,0,0,12615680)

(_DataDot1=1,30,0,3,0)

(_DataLine1=1,1000,0,0,65408)

(_DataDot2=1,30,0,3,16776960)

(_DataLine2=1,1000,0,0,16776960)

(_DataDot3=1,300,0,3,255)

(_DataLine3=1,1000,0,0,255)

(_DataDot4=1,300,0,3,16711935)

(_DataLine4=1,1000,0,0,16711935)

(_DataDot5=1,300,0,3,8388863)

(_DataLine5=1,1000,0,0,8388863)

[LEND]*/

// [BODY]

//这里是代码窗口,请将Forcal代码写在下面

i: OutVector(p:k,i)= k=FCDLen(p),printff{"\r\n"},i=0,(i

{"\r\n"};    //输出一维数组

!using["XSLSF"]; //使用命名空间XSLSF

f(t,x,y,z,dx,dy,dz::p1,p2,p3)={ //函数定义,连分式法对微分方程组积分一步函数pbs1中要用到

dx=p1*(20-x)+p2*(p3-x),

dy=p1*(x-y)+p2*(p3-y),

dz=p1*(y-z)+p2*(p3-z)

};

t_i_2(hf,a,step,eps,t1,t2,x_1,x_2,x_3:x1,x2,x3,h,i)=    //用于计算目标函数

{

h=(t2-t1)/step,

{   pbs1[hf,t1,a,h,eps],  //连分式法对微分方程组积分一步函数pbs1,hf为函数f的句柄

t1=t1+h

}.until[abs(t1-t2)

a.getra(0,&x1,&x2,&x3),

(x1-x_1)^2+(x2-x_2)^2+(x3-x_3)^2

};

J(_p1,_p2,_p3 : t1,s,i : hf,Array,step,eps,p1,p2,p3,数据)={    //目标函数定义

p1=_p1,p2=_p2,p3=_p3,

t1=0, Array.setra(0,10,15,20),

s=0,i=0,

(i<30).while{

s=s+t_i_2[hf,Array,step,eps: &t1, 数据.getrai(i,0) : 数据.getrai(i,1),  数据.getrai(i,2),  数据.getrai(i,3)],

i++

},

s

};

验证(_p1,_p2,_p3 : t1,s1,s2,s3,i max: hf,Array,step,eps,p1,p2,p3,数据)={    //验证函数定义

p1=_p1,p2=_p2,p3=_p3,

t1=0, Array.setra(0,10,15,20),

i=0, printff{"\r\n    No                目标x                  计算x                 目标y                 计算y                 目标z                 计算z\r\n\r\n"},

(i<30).while{

t_i_2[hf,Array,step,eps: &t1, 数据.getrai(i,0) : 数据.getrai(i,1),  数据.getrai(i,2),  数据.getrai(i,3)],

Array.getra(0,&s1,&s2,&s3),

printff{"{1,r,6.3}{2,r,22.16}{3,r,22.16}{4,r,22.16}{5,r,22.16}{6,r,22.16}{7,r,22.16}\r\n",数据.getrai(i,0),数据.getrai(i,1),s1,数据.getrai(i,2),s2,数据.getrai(i,3),s3},

i++

},

//将理论数据保存到3、4、5号缓冲区

max=300,

SetDataLen(3,max),SetDataLen(4,max),SetDataLen(5,max),

i=1,t1=0, Array.setra(0,10,15,20),SetDatai(3,0,0,10),SetDatai(4,0,0,15),SetDatai(5,0,0,20),

(i

t_i_2[hf,Array,step,eps: &t1, i/10 : 0,  0,  0],

Array.getra(0,&s1,&s2,&s3),

SetDatai(3,i,i/10,s1),SetDatai(4,i,i/10,s2),SetDatai(5,i,i/10,s3),

i++

}

};

main(:d,u,v,x,_eps,k,xx,g,i,s1,s2,s3:hf,Array,step,eps,数据)=

{

hf=HFor("f"),                                //模块变量hf保存函数f的句柄,预先用函数HFor获得该句柄

数据=new[rtoi(real_s),rtoi(30),rtoi(4),rtoi(EndType),

1, 11.80, 15.37, 20.77,

2, 14.04, 17.04, 22.23,

3, 15.44, 16.85, 21.16,

4, 17.80, 18.07, 22.49,

5, 18.60, 19.43, 24.46,

6, 19.22, 20.12, 23.58,

7, 21.77, 21.83, 24.51,

8, 22.17, 22.11, 25.38,

9, 23.41, 23.37, 25.53,

10, 23.17, 24.92, 26.69,

11, 24.56, 25.55, 29.21,

12, 25.85, 26.06, 28.00,

13, 24.64, 28.94, 30.32,

14, 25.15, 28.94, 30.41,

15, 26.92, 30.06, 31.87,

16, 26.37, 29.29, 31.87,

17, 26.71, 31.48, 34.60,

18, 26.61, 31.86, 33.57,

19, 27.13, 33.84, 36.75,

20, 29.32, 32.95, 36.36,

21, 28.24, 33.03, 36.23,

22, 28.42, 32.50, 36.01,

23, 28.11, 33.12, 39.19,

24, 28.98, 35.32, 37.29,

25, 30.23, 35.56, 37.79,

26, 30.21, 34.86, 42.05,

27, 29.11, 35.40, 42.67,

28, 30.42, 36.20, 40.74,

29, 28.84, 35.91, 40.53,

30, 29.44, 36.50, 43.33

],

Array=new[rtoi(real_s),rtoi(45)],            //申请工作数组

step=30,eps=1e-7,                            //积分步数step越大,积分精度eps越小越精确,用于对微分方程组积分一步函数pbs1

x=new[rtoi(real_s),rtoi(4)],                 //申请工作数组

xx=new[rtoi(real_s),rtoi(3),rtoi(4)],        //申请工作数组

g=new[rtoi(real_s),rtoi(4)],                 //申请工作数组

_eps=1e-100, d=1,u=1.6,v=0.4,k=800,           //变换d、u、v进一步求解,k为允许的最大迭代次数

i=jsim[HFor("J"),d,u,v,x,_eps,k,xx,g],       //求n维极值的单形调优法

printff{"\r\n实际迭代次数={1,r}\r\n",i},     //输出实际迭代次数

OutVector[x],                                //输出最优参数值及目标函数终值

x.getra(0,&s1,&s2,&s3),

验证[s1,s2,s3],

delete[x],delete[xx],delete[g],delete[Array],delete[数据] //销毁申请的对象

};

SetData{0, //导入的数据保存在0号缓冲区

1, 11.80,

2, 14.04,

3, 15.44,

4, 17.80,

5, 18.60,

6, 19.22,

7, 21.77,

8, 22.17,

9, 23.41,

10, 23.17,

11, 24.56,

12, 25.85,

13, 24.64,

14, 25.15,

15, 26.92,

16, 26.37,

17, 26.71,

18, 26.61,

19, 27.13,

20, 29.32,

21, 28.24,

22, 28.42,

23, 28.11,

24, 28.98,

25, 30.23,

26, 30.21,

27, 29.11,

28, 30.42,

29, 28.84,

30, 29.44

};

_DataDot0(mod,x)=GetData(0,mod,&x); //绘制数据点

_DataLine0(x)=GetData(0,2,x); //绘制数据线

SetData{1, //导入的数据保存在1号缓冲区

1,  15.37,

2, 17.04,

3,  16.85,

4,  18.07,

5,  19.43,

6,  20.12,

7,  21.83,

8, 22.11,

9,  23.37,

10,  24.92,

11,  25.55,

12,  26.06,

13,  28.94,

14, 28.94,

15, 30.06,

16,  29.29,

17, 31.48,

18,  31.86,

19, 33.84,

20,  32.95,

21,  33.03,

22,  32.50,

23,  33.12,

24, 35.32,

25,  35.56,

26,  34.86,

27,  35.40,

28,  36.20,

29, 35.91,

30,  36.50

};

_DataDot1(mod,x)=GetData(1,mod,&x); //绘制数据点

_DataLine1(x)=GetData(1,2,x); //绘制数据线

SetData{2, //导入的数据保存在1号缓冲区

1,  20.77,

2,  22.23,

3,  21.16,

4, 22.49,

5,  24.46,

6,  23.58,

7, 24.51,

8,  25.38,

9,  25.53,

10,  26.69,

11, 29.21,

12, 28.00,

13,  30.32,

14,  30.41,

15,  31.87,

16, 31.87,

17,  34.60,

18,  33.57,

19,  36.75,

20,  36.36,

21, 36.23,

22, 36.01,

23,  39.19,

24,  37.29,

25,  37.79,

26,  42.05,

27, 42.67,

28,  40.74,

29,  40.53,

30,  43.33

};

_DataDot2(mod,x)=GetData(2,mod,&x); //绘制数据点

_DataLine2(x)=GetData(2,2,x); //绘制数据线

_DataDot3(mod,x)=GetData(3,mod,&x); //绘制理论数据点

_DataLine3(x)=GetData(3,2,x); //绘制理论数据线

_DataDot4(mod,x)=GetData(4,mod,&x); //绘制理论数据点

_DataLine4(x)=GetData(4,2,x); //绘制理论数据线

_DataDot5(mod,x)=GetData(5,mod,&x); //绘制理论数据点

_DataLine5(x)=GetData(5,2,x); //绘制理论数据线

微分方程在matlab中的实现,Matlab微分方程参数优化的Forcal实现相关推荐

  1. MATLAB中使用LIBSVM进行SVM参数寻优

    MATLAB中使用LIBSVM进行SVM参数寻优 一些资源网站 配置 svmtrain svmParams -t:表示选择的核函数类型 -g为核函数的参数系数 -c为惩罚因子系数 -v为交叉验证的数, ...

  2. matlab中插入希腊,matlab中希腊字母打法

    如何在matlab中输入希腊字母_数学_自然科学_专业资料.matlab数据可视化处理,绘图技巧 如何在 matlab 中输入希腊字母 matlab 中用转义符来输入希腊字母的方法 上标用 ..... ...

  3. matlab excel导入矩阵,如何将excel中数据导入到matlab中!Excel导入matlab生成矩阵

    如何将excel中数据导入matlab并存入数组中 使用Matlab中的Excel Link就可以了. 如果使用Excel 2003版本,操作如下: 1 打开Excel. 2 在菜单栏中选择→加载项→ ...

  4. matlab中特殊字符6,matlab中特殊字符

    matlab特殊字符_工学_高等教育_教育专区.本文说明了matlab中如何输入特殊字符,如希腊字母字符映射表 C:\\WINDOWS\\system32\\charmap.exe M 文件里是可以输 ...

  5. matlab中设置拟合初值,matlab中的nlinfit函数时,参数需要回归系数的初值,如何确定?...

    matlab中的nlinfit函数时,参数需要回归系数的初值,如何确定? 2018-4-4来自ip:11.11.16.15的网友咨询 浏览量:142 问题补充: matlab中的nlinfit函数时, ...

  6. MATLAB遗传算法求解曲面拟合和多参数优化问题代码实例

    MATLAB遗传算法求解曲面拟合和多参数优化问题代码实例 MATLAB遗传算法求解曲面拟合和多参数优化问题代码实例 数据拟合和多参数优化问题实例: 已知一组观测数据(x, y, z)满足一定的函数关系 ...

  7. matlab中exp(liangx),Matlab基础知识

    <Matlab基础知识>由会员分享,可在线阅读,更多相关<Matlab基础知识(122页珍藏版)>请在人人文库网上搜索. 1.Lxy, China Jiliang Univer ...

  8. matlab中的routte,matlab外文翻译外文文献英文文献MATALAB混合仿真平台控制算法的概述...

    <matlab外文翻译外文文献英文文献MATALAB混合仿真平台控制算法的概述>由会员分享,可在线阅读,更多相关<matlab外文翻译外文文献英文文献MATALAB混合仿真平台控制算 ...

  9. MATLAB中plot函数的linespec参数

    这篇文章的目的,就是记录一下plot函数的linespec参数的每个线型和点型选项到底指的是什么.因为MATLAB帮助中只有文本解释,在这里把每个选项都画出来,更为直观一些. 在MATLAB中画图时, ...

  10. matlab中step_使用MATLAB中bertool进行通信仿真

    MATLAB中的Communication System Toolbox中的bertool图像化工具bertool提供了极为方便的通信仿真环境以测试仿真模型的误比特率性能,并且可以很好地和理论值进行对 ...

最新文章

  1. Android中的跨进程通信方法实例及特点分析(二):ContentProvider
  2. shell在二级python_在Shell脚本中检查Python版本的方法
  3. 12款优秀的 JavaScript 日历和时间选择控件
  4. 征战蓝桥 —— 2013年第四届 —— C/C++A组第6题——逆波兰表达式
  5. 关于oracle 安装下的LINUX系统参数的优化
  6. 前端网页发布到nginx_通过nginx部署前端代码实现前后端分离
  7. 潘多拉路由器php,Padavan潘多拉固件ap模式openwrt固件应该如何设置有线AP模式
  8. tomcat 日志切割
  9. c++ 建立MFC应用程序
  10. Git 和 GitHub
  11. 道与术丨华为云数据库战略启示录
  12. 从 Quora 的 187 个问题中学习机器学习和 NLP
  13. 复旦微的FMQL10S400ZYNQ芯片的多核操作
  14. itx 主板支持服务器内存,1200大洋的Z490 itx主板能干嘛?6核超5G,内存比一线,值得入手...
  15. Excel数据的导入
  16. 101规约单点遥信双点遥信区别
  17. 综述 | 目标检测中的多尺度检测方法
  18. 7款开源ERP系统比较
  19. 91免费视频Redis+Lua解决高并发场景在线秒杀问题
  20. TCP在FIN_WAIT1状态到底能持续多久以及TCP假连接问题

热门文章

  1. 团队项目计划BACKLOG
  2. IE 弹出框处理经验
  3. 隐藏nginx 版本号信息
  4. 国内ios分亨组件,
  5. ai驱动数据安全治理_JupyterLab中的AI驱动的代码完成
  6. android动画笔记二
  7. leetcode 205. 同构字符串(hash)
  8. 代码字体mono_如何构建代码存储库:Multi,Mono或Organic?
  9. ios 应用商店_如何在预算范围内制作值得应用商店使用的iOS应用预览
  10. tp5.1升级指导---控制器调整 _initialize方法更改为initialize