Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-05-17
帖子: 5
声望力: 0 ![]() |
![]()
syms x;
for k=1:10 for l=1:10 ak=(k-1/2)*pi; al=(l-1/2)*pi; num2str(ak); aa=strcat('(sinh((',num2str(ak),')*x).*sinh((',num2str(al),')*x))'); bb=strcat('(sin((',num2str(al),')*x).*sinh((',num2str(ak),')*x))'); pp=strcat('(',num2str(ak),').*(',num2str(al),').*((inline(aa,x))+(inline(bb,x)))') ss(k,l)=quadl(inline(pp),0,1) end end 请高手帮忙看一下有什么错误,帮改一下,如果把aa,bb这项直接带到pp中能出结果,因为像aa,bb这样的项有很多,而且在strcat('( )')又不能分行,函数太长不便于打印。谢谢了。 |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2009-05-17
帖子: 5
声望力: 0 ![]() |
![]()
有人知道吗,谢谢大家,真的很急。
|
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2009-05-17
帖子: 5
声望力: 0 ![]() |
![]()
运行结果如下,谢谢赐教
pp = (1.5708).*(1.5708).*((inline(aa,x))+(inline(bb,x))) ??? Error using ==> inline.feval Not enough inputs to inline function. Error in ==> quadl at 64 y = feval(f,x,varargin{:}); y = y( ![]() |
![]() |
![]() |
![]() |
#4 |
普通会员
注册日期: 2009-02-22
帖子: 91
声望力: 18 ![]() |
![]()
不太理解你的意思,看下程序可否:
syms x format long e ss=zeros(10,10); for k=1:3 for l=1:3 ak=(k-1/2)*pi; al=(l-1/2)*pi; aa=sinh(ak*x)*sinh(al*x); bb=sin(al*x)*sinh(ak*x); pp=ak*al*(aa+bb); ss(k,l)=quadl(inline(pp),0,1); end end 不过,上界1应小点,不然会出现warning! |
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2009-05-17
帖子: 5
声望力: 0 ![]() |
![]()
非常感谢你,我试了一下,应该可以。
|
![]() |
![]() |