比如说:
function s=y_diff_x(t);
x=sin(t);
y=cos(t);
s=y*diff(x);
这样编写的话直接在命令框中输入y_diff_x(1)的话,不能返回s=cos(1)*cos(1)的值,返回的是空矩阵,要怎么编写才对,谢谢!
其实我的最终目标是想求定积分,想求quad('y_diff_x',t0,t2)的积分,按照你的方法可以求出我所需要的结果,但是积分的时候会出错,我是matlab新手,所以基本功很不扎实,你的回答很专业,万分感谢!
追答你想求这个定积分就直接把y_diff_x的表达式弄进去积分啊。。。
唉,算了,我怀疑我没有搞懂你到底要干什么。。。
对于我的表达我很抱歉,我在matlab中用m文件编号你提供的程序,在命令行中输入y_diff_x(0),可以算出结果,但是输入quad('y_diff_x',0,1)的时候提示出错了,如下面所示:
不知道是哪里出问题了,还请帮帮忙,谢谢!
(说实话,我从来没用过quad。。。help里面都说以后要把quad丢出去。。。=-=)
那个函数我重写一遍:
function s=y_diff_x(t0)
syms t
x=sin(t);
y=cos(t);
s=subs(y,t,t0).*subs(diff(x,t),t,t0);
主要是要加个“.”