Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-05-17, 17:41   #1
ncc198611
初级会员
 
注册日期: 2009-05-17
帖子: 5
声望力: 0
ncc198611 正向着好的方向发展
默认 求助(急):matlab编程

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('( )')又不能分行,函数太长不便于打印。谢谢了。
ncc198611 当前离线   回复时引用此帖
旧 2009-05-17, 21:42   #2
ncc198611
初级会员
 
注册日期: 2009-05-17
帖子: 5
声望力: 0
ncc198611 正向着好的方向发展
默认 回复: 求助(急):matlab编程

有人知道吗,谢谢大家,真的很急。
ncc198611 当前离线   回复时引用此帖
旧 2009-05-17, 22:34   #3
ncc198611
初级会员
 
注册日期: 2009-05-17
帖子: 5
声望力: 0
ncc198611 正向着好的方向发展
默认 回复: 求助(急):matlab编程

运行结果如下,谢谢赐教
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(.';
ncc198611 当前离线   回复时引用此帖
旧 2009-05-17, 22:46   #4
TTT_IOU
普通会员
 
注册日期: 2009-02-22
帖子: 91
声望力: 18
TTT_IOU 正向着好的方向发展
默认 回复: 求助(急):matlab编程

不太理解你的意思,看下程序可否:
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!
TTT_IOU 当前离线   回复时引用此帖
旧 2009-05-18, 20:35   #5
ncc198611
初级会员
 
注册日期: 2009-05-17
帖子: 5
声望力: 0
ncc198611 正向着好的方向发展
默认 回复: 求助(急):matlab编程

非常感谢你,我试了一下,应该可以。
ncc198611 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 17:28


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.