回复 22楼 的帖子
二重积分类似 rocwoods:>> clear all
kk=linspace(0,5);
y=zeros(size(kk));
ff=@(k) ['sin(',num2str(k),'*x).*x.^2'];
f=@(k) quadl(ff(k),1,5);
for ii=1:length(kk)
y(ii)=f(kk(ii));
end
plot(kk,y)
??? ff=@(k) ['sin(',num2str(k),'*x).*x.^2'];
|
Error: "identifier" expected, "(" found.
那个不用循环的代码:
>> plot(linspace(0,5),arrayfun(@(k) quad(@(x)sin(k.*x).*x.^2,0,5),linspace(0,5)))
??? plot(linspace(0,5),arrayfun(@(k) quad(@(x)sin(k.*x).*x.^2,0,5),linspace(0,5)))
|
Error: "identifier" expected, "(" found.
兄能否做下解释?
我用的是matlab6.5 原帖由 plp626 于 2008-5-25 05:50 发表 http://www.chinavib.com/forum/images/common/back.gif
rocwoods:
那个不用循环的代码:
兄能否做下解释?
我用的是matlab6.5
可以参考此帖:
http://www.chinavib.com/forum/thread-65125-1-2.html 如果积分限是变量,并且积分函数里含有参数(积分限和参数都是for循环),应该怎么解呢?能否给个例子,谢谢
回复 24楼 的帖子
版本太底不支持@
回复 沙发 shunfly 的帖子
clear allk=linspace(1,5);
for i=1:length(k)
kk=k(i);
fun=['sin(',num2str(kk),'*x).*x.^2'];
y(i)=quadl(inline(fun),1,5);
end
plot(k,y)
请问为什么要加括号[ ]呢?
[ 本帖最后由 soberprogress 于 2008-9-18 10:32 编辑 ]
回复 29楼 soberprogress 的帖子
你把括号去掉,试试不就知道了回复 30楼 sigma665 的帖子
试试不可以的,但是不知道为什么?我想用arrayfun 但是不成功,请指点一下啊。谢谢
http://forum.vibunion.com/forum/thread-70390-1-1.html回复 楼主 xjzuo 的帖子
但如果我想积分求出y关于k的表达式呢?应该是咋样的留言
好贴,不错[ 本帖最后由 beyondhxf 于 2009-5-14 08:53 编辑 ]
回复 6楼 rocwoods 的帖子
第二种是利用内嵌函数(Nested Function)我把你的代码运行了一下,出现了错误Error: File: C:\MATLAB6p5\work\y.m Line: 1 Column: 12
Missing variable or function.