QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3484|回复: 3
打印 上一主题 下一主题

matlab中怎么表示一个函数啊

[复制链接]
字体大小: 正常 放大
夏默默        

4

主题

6

听众

13

积分

升级  8.42%

  • TA的每日心情

    2013-8-14 17:46
  • 签到天数: 2 天

    [LV.1]初来乍到

    自我介绍
    还行还行
    跳转到指定楼层
    1#
    发表于 2013-8-9 16:49 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta

    function Faf = frft(f, a)
    % The fast Fractional Fourier Transform
    % input: f = samples of the signal
    %        a = fractional power
    % output: Faf = fast Fractional Fourier transform


    程序是这样 我怎么表示f啊 比如我想输入正弦函数 怎么表示
    zan
    转播转播 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    madio        

    3万

    主题

    1310

    听众

    5万

    积分

  • TA的每日心情
    奋斗
    2024-7-1 22:21
  • 签到天数: 2014 天

    [LV.Master]伴坛终老

    自我介绍
    数学中国站长

    社区QQ达人 邮箱绑定达人 优秀斑竹奖 发帖功臣 风雨历程奖 新人进步奖 最具活力勋章

    群组数学建模培训课堂1

    群组数学中国美赛辅助报名

    群组Matlab讨论组

    群组2013认证赛A题讨论群组

    群组2013认证赛C题讨论群组

    你这样定义就可以,给你举个例子,比如任意定义函数如下:
    function r=ff(x) r=sin(x);

    定义一个求积分的函数integr(),函数如下定义:
    function result=integr(a,b,n,fun) ;
    h=(b-a)/n; x=[a:h:b]; y=fun(x);%fun为传入的函数指针,可以直接作为引用
    result=sum(y);

    则可以通过如下方式使用:
    integr(0,1,1000,@ff)%‘@’即表示ff作为函数指针传入,有时也叫做函数句柄

    还有一种方法是把f(x)函数名作为字符串传入,则在Integr()中只需将f(x)函数名及其参数写为一个字符串,使用eval(字符串)执行即可,如:
    function result=integr(a,b,n,fun)
    %定义积分函数,a为积分下限,b为积分上限,n为划分区间的个数,fun为需进行计算的函数的文件名
    h=(b-a)/n; x=[a:h:b]; y=eval([fun,'(x)']);
    %将函数名fun和其参数x合成一个字符串并执行字符串,即执行计算fun(x),注意不能丢了fun的括号。
    result=sum(y);

    在命令窗口引用即可:将'ff'换为其他函数名字符串即可进行计算其数值积分。
    integr(0,1,1000,'ff')
    数学建模社会化
    回复

    使用道具 举报

    magic2728 实名认证    中国数模人才认证   

    61

    主题

    478

    听众

    4861

    积分

    升级  95.37%

  • TA的每日心情
    慵懒
    2014-9-29 19:37
  • 签到天数: 409 天

    [LV.9]以坛为家II

    群组数学中国 2015美赛护航

    群组数模专题强化培训

    群组建模思维养成培训

    群组2015美赛护航(强化)

    群组2013年数学建模国赛备

    这个问题涉及到函数调用的问题,有两种方式,可以以字符串格式传入再用eval调用同名函数,也可以@fun方式作为函数指针传入,站长的解释非常清楚,希望楼主可以理解这里面的深层含义。
    回复

    使用道具 举报

    1

    主题

    6

    听众

    187

    积分

  • TA的每日心情
    慵懒
    2014-11-9 09:25
  • 签到天数: 72 天

    [LV.6]常住居民II

    自我介绍
    ......

    新人进步奖

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-5-25 03:40 , Processed in 0.538259 second(s), 68 queries .

    回顶部