simulink 如何在是function中加入程序(程序是M文件)

simulink 如何在是function中加入程序(程序是M文件),第1张

1matlab在work根目录下新建一个m文件,然后在m文件里面写入s-function程序

2更改该m文件的名称,设置成你所需的,比如testm

3在simulink编辑环境下,拖入S-function模块,双击该模块,在s-function

Name一栏填入test

4点击后面的按钮Edit,如果能进入testm,表明s-function模块与程序正确的链接上了。

你可以先生成net网络,经训练后即可调用gensim函数。我给你看一个例子吧:

%训练样本集

%输入向量

P=[7565745 7653261 7629077 7627337 7780583 7684183 7533221 754777 8691892 8378081 850121 8717502 8869313 8967662 8442693 878671 936677 9535296 9369523 9727305 9696961 9668402 9673992 9919504;

20 20 20 20 45 45 45 45 20 20 20 20 45 45 45 45 20 20 20 20 45 45 45 45];

%目标向量

T=[750 750 750 750 750 750 750 750 850 850 850 850 850 850 850 850 950 950 950 950 950 950 950 950];

%输入向量、目标向量归一化

p=(P-[750;20]ones(1,24))/([950;45]ones(1,24)-[750;20]ones(1,24));

t=(T-750)/(950-750);

%创建BP网络:网络含5个隐层和一个输出层

net=newff([0,1;0,1],[5,1],{'tansig','logsig'},'trainlm');

%对网络进行训练

net=train(net,p,t);

%保存网络

save cellnet net

%生成模块

gensim(net,-1)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

首先需要指出的是,newff函数是用来产生新的网络的,使用时输入向量的维数可以是任意的。

下面是我写的几行命令,newff命令中的minmax(X)决定了新生成网络的输入为5维

%输入向量

X=[0 05398 05325 05324;

0 -09341 09339 -09327;

0 -64617 08567 08850;

0 103576 -101934 89586;

0 109531 311317 512697];

%目标向量

T=[0 109630 311417 512796];

%输入向量、目标向量归一化:你自己补充一下

%创建BP网络:假设网络含5个隐层和一个输出层

net=newff(minmax(X),[5,1],{'tansig','logsig'},'trainlm');

%对网络进行训练

net=train(net,X,T);

%生成模块

gensim(net,-1)

%需要指出的是,上面调用的newff函数的用法是基于MATLABR2007或者早些版本的。MATLABR2008a上调用时会稍微有所不同。你可以用help看看

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

输入输出都是按行归一化的。每一个输入矩阵中,每一列都是一个训练或测试样本,对列输入没有意义的。

我用的是MATLABR2008版的,你的那段程序在语法上除了归一化不正确导致的一些问题和newff调用警告外好像没有其他的bug

Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。那么如何使用matlab上建立simulink仿真呢?本文小编带你建立simulink仿真程序。

方法步骤:打开matlab2014a程序

建立方法之一:

在主工具栏里边找到新建,然后选择simulink model,点击即可建立。

建立方法之二:

在主工具栏里点击simulink库,进入simulink库界面。

2在simulink库界面工具栏中选择file--new--model,或者直接按ctrl+N即可建立

无法生成。

Simulink是一种可视化仿真工具软件。

Simulink是一个模块图环境,用于多域仿真以及基于模型的设计。它支持系统设计、仿真、自动代码生成以及嵌入式系统的连续测试和验证,不能生成dll文件。

简单的说:

1matlab在work根目录下新建一个m文件,然后在m文件里面写入s-function程序。

2更改该m文件的名称,设置成你所需的,比如testm

3在simulink编辑环境下,拖入S-function模块,双击该模块,在s-function

Name一栏填入test

4点击后面的按钮Edit,如果能进入testm,表明s-function模块与程序正确的链接上了。

以上就是关于simulink 如何在是function中加入程序(程序是M文件)全部的内容,包括:simulink 如何在是function中加入程序(程序是M文件)、神经网络程序如何生成simulink模块、如何用matlab2014a建立simulink仿真等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9724425.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存