声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1046|回复: 2

[编程技巧] 请教符号积分时遇到的问题

[复制链接]
发表于 2010-11-5 16:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
想解一个二重积分,看网上有人说可以先做符号积分int,再做数值积分quadv。可是我int那里就出问题了,不知道怎么解决。

clear;
syms t w
L=0.08;
a=0.1;b=0.08;c=-0.15;uz=0.2;vz=0.2;wz=0.1;
f1=[(-3/20+w)/((2/25-t)*(2/25-conj(t))+(-3/20+w)*(-3/20+conj(w)))^(3/2)+(3/20-w)/(1/25+(2/25-t)*(2/25-conj(t))+(-3/20+w)*(-3/20+conj(w)))^(3/2)+(-3/20-w)/((2/25-t)*(2/25-conj(t))+(-3/20-w)*(-3/20-conj(w)))^(3/2)+(3/20+w)/(1/25+(2/25-t)*(2/25-conj(t))+(-3/20-w)*(-3/20-conj(w)))^(3/2),
   0,
   1/5/(1/25+(2/25-t)*(2/25-conj(t))+(-3/20+w)*(-3/20+conj(w)))^(3/2)+1/5/(1/25+(2/25-t)*(2/25-conj(t))+(-3/20-w)*(-3/20-conj(w)))^(3/2)];
f2=int(f1,t,-0.1,0.1);          %%%%%出错的地方
f2=inline(f2/L);
result=quadv(f2,w,-wz,-wz-L);

f1有点复杂,是个行向量,带有两个变量t和w;int是想对t求积分,quadv想对w求积分。

??? Attempted to access e(1); index out of bounds because numel(e)=0.
Error in ==> sym.sym>char2sym at 518
      sk = x(s(k):e(k));
Error in ==> sym.sym at 95
   S = char2sym(x);
Error in ==> sym.maple at 92
   result = sym(result,'keepijalias');
Error in ==> sym.int at 51
   r = reshape(maple('map','int',f(:),[x.s '=(' a.s ')..(' b.s ')']),size(f));
Error in ==> tmpy at 10
f2=int(f1,t,-0.1,0.1);

错误信息如上,不知道怎么解决。请各位大虾帮帮忙,谢谢!

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2010-11-5 22:34 | 显示全部楼层
f1行向量是(1*3)的吧!而且第二个是0,还有一个问题,既然被积分变量t,w均是实数,为何还要有conj(t)/conj(w)的表达式呢?
首先你的f1表达式有问题:行向量分成三行写的话,之后要加...,否则本身就有语法错误;
建议你以后在m文件中运行命令,这样MATLAB-mlint特性就可以适时的给你一下提醒,以发现一些潜在的错误,f1如果是行向量,应该是这样的:
f1=[(-3/20+w)/((2/25-t)*(2/25-conj(t))+(-3/20+w)*(-3/20+conj(w)))^(3/2)+(3/20-w)/(1/25+(2/25-t)*(2/25-conj(t))+(-3/20+w)*(-3/20+conj(w)))^(3/2)+(-3/20-w)/((2/25-t)*(2/25-conj(t))+(-3/20-w)*(-3/20-conj(w)))^(3/2)+(3/20+w)/(1/25+(2/25-t)*(2/25-conj(t))+(-3/20-w)*(-3/20-conj(w)))^(3/2), ...   0,...
   1/5/(1/25+(2/25-t)*(2/25-conj(t))+(-3/20+w)*(-3/20+conj(w)))^(3/2)+1/5/(1/25+(2/25-t)*(2/25-conj(t))+(-3/20-w)*(-3/20-conj(w)))^(3/2)];
我刚试了一下,无论是否加入conj运算,都没有理论上的闭式表达式,建议你用数值方法试试吧!

评分

1

查看全部评分

 楼主| 发表于 2010-11-8 16:41 | 显示全部楼层
那个是行向量,我是图方便才加了几个回车,没考虑变成了列向量了。
好的,我还是试试数值解吧。
谢谢回复!

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-16 13:44 , Processed in 0.066057 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表