查看: 2608  |  回复: 6

如瑜?运�

银虫 (初入文坛)

[求助] simulink如何将m文件创建成一个模块,求助呀 已有1人参与

我的m文件原文件如下,我要输出的是一个Fm与时间的关系的一个模块到simulink当中,但是一直都弄不出来,有的说用embedded matlab function,我弄了好久,也没弄出来,我只是想把Fm作为一个激励输入到simulink当中,求高手给个具体的方法和过程,或者帮我编一个s-function函数,我对simulink也不熟,s-function也不会
clc;clear;
syms fs fx;
k=0.6069;
zb=43;
b=11;
rp=72.5;
rrp=5;
E=206000;
i=1;
u=0.3;
kc=0;
P=zeros(1,5);
ks=P;
PP=zeros(1,3);
kk=PP;
ph=PP;
w=0.018;
   for pha=3*2*pi/43:4*pi/43:12*2*pi/43
       s=1+k^2-2*k*cos(pha);
       T=k*(zb+1)*cos(pha)-(1+zb*k^2);
       fs=pi*b*E*rp*s^(3/2);
       fx=4*(1-u^2)*(rp*s^(3/2)+2*rrp*T);
       ks(i)=fs/fx;
       ks(i)
       kc=kc+abs(ks(i));
       kc
       i=i+1;
   end
kp=237190;  %单齿刚度
chd=5.375;  %重合度
nb=600/43;   %摆线齿轮转速
wm=2*pi*nb*zb/60; %频率
t=0:0.001:0.3;
for j=1:1:3
    kk(j)=sqrt(2-2*cos(2*pi*j*(chd-5)))*kp/(pi*j);
    ph(j)=atan((1-cos(2*pi*j*(chd-5)))/sin(2*pi*j*(chd-5)));
    kk(j)
    ph(j)
   
end
    km=kc+kk(1)*cos(wm.*t-ph(1))+kk(2)*cos(2*wm.*t-ph(2))+kk(3)*cos(3*wm.*t-ph(3));
   % plot(t,km)
    Fm=km*w*b/1000;
    plot(t,Fm)
下面这个就是m文件的仿真图片
simulink如何将m文件创建成一个模块,求助呀
我用embedded matlab function编了一个文件,但是出错,下面是我编程和错误的图片,还有simulink的模型
function y = fcn(t)
%#eml
eml.extrinsic('clc','clear','syms');
clc;clear;
%syms fs fx;
k=0.6069;
zb=43;
b=11;
rp=72.5;
rrp=5;
E=206000;
i=1;
u=0.3;
kc=0;
P=zeros(1,5);
ks=P;
PP=zeros(1,3);
kk=PP;
ph=PP;
w=0.018;
   for pha=3*2*pi/43:4*pi/43:12*2*pi/43
       s=1+k^2-2*k*cos(pha);
       T=k*(zb+1)*cos(pha)-(1+zb*k^2);
       fs=pi*b*E*rp*s^(3/2);
       fx=4*(1-u^2)*(rp*s^(3/2)+2*rrp*T);
       ks(i)=fs/fx;
       ks(i)
       kc=kc+abs(ks(i));
       kc
       i=i+1;
   end
kp=237190;  %单齿刚度
chd=5.375;  %重合度
nb=600/43;   %摆线齿轮转速
wm=2*pi*nb*zb/60; %频率
%t=0:0.001:0.3;
for j=1:1:3
    kk(j)=sqrt(2-2*cos(2*pi*j*(chd-5)))*kp/(pi*j);
    ph(j)=atan((1-cos(2*pi*j*(chd-5)))/sin(2*pi*j*(chd-5)));
    kk(j)
    ph(j)
   
end
    km=kc+kk(1)*cos(wm*t-ph(1))+kk(2)*cos(2*wm*t-ph(2))+kk(3)*cos(3*wm*t-ph(3));
   % plot(t,km)
    y=km(t)*w*b/1000;
simulink如何将m文件创建成一个模块,求助呀-1
simulink如何将m文件创建成一个模块,求助呀-2
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

CSU_HUSTer

新虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
matlab FCN即可,设置名字与m文件函数文件名一致
2楼2014-06-17 19:31:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

如瑜?运�

银虫 (初入文坛)

引用回帖:
2楼: Originally posted by CSU_HUSTer at 2014-06-17 19:31:56
matlab FCN即可,设置名字与m文件函数文件名一致

好像可以,但是为什么出来的都是好几条平行的直线。就是示波器上的图形显示的是Fm的每个值,每个值是一条直线,没办法跟时间关联起来
3楼2014-06-19 12:53:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

CSU_HUSTer

新虫 (正式写手)

???????:
3?: Originally posted by ?????? at 2014-06-19 12:53:01
????????????????????????ü?????е???????????????????????????Fm????????????????????????????????????...

???????????д???
4楼2014-06-19 14:50:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

如瑜?运�

银虫 (初入文坛)

引用回帖:
4楼: Originally posted by CSU_HUSTer at 2014-06-19 14:50:43
你的输入输出没写对吧...

下面是我的程序,您看看对不,示波器的图显示是那样
function [Fm]=gangdu(t)
syms fs fx;
k=0.6069;
zb=43;
b=11;
rp=72.5;
rrp=5;
E=206000;
i=1;
u=0.3;
kc=0;
P=zeros(1,5);
ks=P;
PP=zeros(1,3);
kk=PP;
ph=PP;
w=0.018;
   for pha=3*2*pi/43:4*pi/43:12*2*pi/43
       s=1+k^2-2*k*cos(pha);
       T=k*(zb+1)*cos(pha)-(1+zb*k^2);
       fs=pi*b*E*rp*s^(3/2);
       fx=4*(1-u^2)*(rp*s^(3/2)+2*rrp*T);
       ks(i)=fs/fx;
       ks(i)
       kc=kc+abs(ks(i));
       kc
       i=i+1;
   end
kp=237190;  %单齿刚度
chd=5.375;  %重合度
nb=600/43;   %摆线齿轮转速
wm=2*pi*nb*zb/60; %频率
%t=0:0.001:0.3;
for j=1:1:3
    kk(j)=sqrt(2-2*cos(2*pi*j*(chd-5)))*kp/(pi*j);
    ph(j)=atan((1-cos(2*pi*j*(chd-5)))/sin(2*pi*j*(chd-5)));
    kk(j)
    ph(j)
   
end
    km=kc+kk(1)*cos(wm*t-ph(1))+kk(2)*cos(2*wm*t-ph(2))+kk(3)*cos(3*wm*t-ph(3));
    plot(t,km)
    Fm=km*w*b/1000;
simulink如何将m文件创建成一个模块,求助呀-3
simulink如何将m文件创建成一个模块,求助呀-4
5楼2014-06-19 15:05:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

寒域110

金虫 (小有名气)

楼主,你会用这个模块了吗?求助啊
6楼2015-02-15 15:57:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guodeqi0816

新虫 (初入文坛)

楼主您的问题解决了吗   我现在也遇到您这个问题   想把m文件做成类似simulink中的阶跃信号输入模块    可以指点下不
7楼2015-12-15 09:09:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 如瑜?运� 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 极限拉扯,如何抉择 +6 Isak0320 2026-10-12 8/400 2026-10-12 20:09 by caixiaoye1
[基金申请] 入职后第一次管课题组的专利缴费,对账才发现官费比别人多掏了一倍 +6 13108017953 2026-10-08 6/300 2026-10-12 20:07 by w3w3y3
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +4 wangyl_123 2026-10-10 8/400 2026-10-12 18:09 by wangyl_123
[教师之家] 课题组会帮你通过考核么? +3 好运来~9527 2026-10-10 6/300 2026-10-12 14:55 by 简单化xn
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 22:26 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:15 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:06 by XQNyDCa1Tk5n
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 14:25 by VOMexwnDzOFZ
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:51 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:54 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
[有机交流] 各位大佬,路线设计求助 +6 zapen 2026-10-08 8/400 2026-10-10 15:59 by zapen
[有机交流] 我应该选哪条合成路线让实验成功率高一些? +5 jing816y 2026-10-08 9/450 2026-10-10 09:05 by zapen
信息提示
请填处理意见