24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2026级博士研究生招生报考通知(长期有效)
查看: 471  |  回复: 4
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

fspdlh

金虫 (正式写手)

[交流] 【求助】关于内联函数点乘点除问题

主要是解决以下问题,输入fun1,得到fun2的结果。不知是不是有什么函数可以把一个函数里的 * / ^ 变为 .* ./ .^

http://muchong.com/bbs/viewthread.php?tid=1316489&fpage=1中编程遇到了这个问题,不得不用循环来求解。

>> fun1='sin(x)*cos(x)'

fun1 =

sin(x)*cos(x)

>> fun1=inline(fun1)

fun1 =

     Inline function:
     fun1(x) = sin(x)*cos(x)

>> x=1:1:5

x =

     1     2     3     4     5

>> fun1(x)
??? Error using ==> inlineeval
Error in inline expression ==> sin(x)*cos(x)
??? Error using ==> mtimes
Inner matrix dimensions must agree.

Error in ==> inline.subsref at 25
    INLINE_OUT_ = inlineeval(INLINE_INPUTS_, INLINE_OBJ_.inputExpr, INLINE_OBJ_.expr);

>> fun2='sin(x).*cos(x)'

fun2 =

sin(x).*cos(x)

>> fun2=inline(fun2)

fun2 =

     Inline function:
     fun2(x) = sin(x).*cos(x)

>> x=1:1:5

x =

     1     2     3     4     5

>> fun2(x)

ans =

    0.4546   -0.3784   -0.1397    0.4947   -0.2720

[ Last edited by fspdlh on 2009-5-7 at 08:57 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fspdlh

金虫 (正式写手)

谢谢回复,我主要还是想解决如下问题
引用回帖:
Originally posted by fspdlh at 2009-5-7 08:50:
不知是不是有什么函数可以把一个函数里的 * / ^ 变为 .* ./ .^

3楼2009-05-07 14:03:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

hyk2006

木虫 (小有名气)

★ ★ ★ ★ ★
kuhailangyu(金币+2,VIP+0):谢谢参与! 5-7 14:58
fspdlh(金币+3,VIP+0):谢谢! 5-8 13:38
fun2=inline('sin(x).*cos(x)');
x=1:1:5;
fun2(x)
不知道是不是你想要的结果
2楼2009-05-07 13:59:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hyk2006

木虫 (小有名气)

★ ★ ★ ★ ★ ★ ★ ★ ★
sunxiao(金币+2,VIP+0):谢谢参与,欢迎常来仿真编程版 5-8 03:16
fspdlh(金币+7,VIP+0):谢谢!看来是没有 5-8 13:39
恐怕没有,这么简单的转换,自己加点就行了
再说用点乘和点除也可以解决一维的乘除
4楼2009-05-07 14:12:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fspdlh

金虫 (正式写手)

我感觉如果能有这么一个函数应该还是挺实用吧,用solve命令解方程不能加点,如果想求值画曲线加点却很方便啊
5楼2009-05-08 13:42:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见