主题:新手求救,先谢过
请教解常微分方程组时odefun怎样用函数句柄@.就是:比如要求dy/dt=sin(t),
现在如果写成:
f=@sin
ode23('f',[0,1],0)
或是ode23(@sin,[0,1],0)都不行。
试了一下,只有把被求的微分方程写成独立的function形式,但我不想这么写。
对不起,我知道这问题比较弱质,但初学者实在没办法。
其实遇到的问题是这样的
我要在一个迭代求极值函数
function a=fminsearch(.(初值).)
在这个函数里面要求出一个常微分方程组,而方程组里面需要的系数又是根据上面这个函数所给出的初值迭代的。所以如果常微分方程组函数分开写在外面,就不能根据迭代新参数值求新的常微分方程解,所以最好要写在函数里面,比如@形式。
是否要什么局部函数?但不太会。
请教高手,拜谢。
现在如果写成:
f=@sin
ode23('f',[0,1],0)
或是ode23(@sin,[0,1],0)都不行。
试了一下,只有把被求的微分方程写成独立的function形式,但我不想这么写。
对不起,我知道这问题比较弱质,但初学者实在没办法。
其实遇到的问题是这样的
我要在一个迭代求极值函数
function a=fminsearch(.(初值).)
在这个函数里面要求出一个常微分方程组,而方程组里面需要的系数又是根据上面这个函数所给出的初值迭代的。所以如果常微分方程组函数分开写在外面,就不能根据迭代新参数值求新的常微分方程解,所以最好要写在函数里面,比如@形式。
是否要什么局部函数?但不太会。
请教高手,拜谢。