24小时热门版块排行榜    

查看: 2298  |  回复: 9

hym5701

木虫 (小有名气)

[求助] 怎么能加速,太慢了 已有1人参与

大家好,我有一个积分要计算,主要是积分区间是-inf到inf,算的太慢了,即使是把积分区间换成(-1,1)好像也很慢,怎么回事,有没有什么方法能加速提高运算速度呢?谢谢!要是把积分区间换成(-1,1)怎么结果还是一个表达式呢,不应该是一个数值吗?
clc;clear
syms x
a=0.5;
b=0.8;
c=1;
d=2;
e=0.1;
fxfz=(a-i*(x-b))*(c+i*(x-d))*x*exp(e*x);
fxfm=(a^2+(x-b)^2)*(c^2+(x-d)^2)*(exp(e*x)-1)^2;
fjf=int(fxfz/fxfm,-inf, inf)
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cob

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
hym5701: 金币+20, ★★★★★最佳答案, 感谢你的指导 2015-09-24 12:38:04
xzhdty: 谢谢参与 2015-09-24 19:01:19
不用 syms x, 会快很多
2楼2015-09-22 06:31:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hym5701

木虫 (小有名气)

引用回帖:
2楼: Originally posted by cob at 2015-09-22 06:31:19
不用 syms x, 会快很多

不syms x 那怎么行,它不是变量吗
3楼2015-09-22 20:22:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cob

木虫 (正式写手)

引用回帖:
3楼: Originally posted by hym5701 at 2015-09-22 20:22:52
不syms x 那怎么行,它不是变量吗...

在matlab网站上找的例子,我没有实验。你实验下。应该会快很多。我以前也用过syms,发现它很慢。换了,就快多了。


Create the function f(x) = 1/(x3 – 2x – c) with one parameter, c.

fun = @(x,c) 1./(x.^3-2*x-c);
Evaluate the integral from x=0 to x=2 at c=5.

q = integral(@(x)fun(x,5),0,2)
4楼2015-09-22 21:33:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hym5701

木虫 (小有名气)

引用回帖:
4楼: Originally posted by cob at 2015-09-22 21:33:23
在matlab网站上找的例子,我没有实验。你实验下。应该会快很多。我以前也用过syms,发现它很慢。换了,就快多了。


Create the function f(x) = 1/(x3 – 2x – c) with one parameter, c.

fun = @(x,c) 1. ...

谢谢你的提示,我用一个简单的例子,提示Inner matrix dimensions must agree.,,帮忙看看哪里不对,而且结果怎么还是一个表达式呢,不应该是一个数值吗
clc;clear
% syms x
a=0.5;
b=0.8;
c=1;
d=2;
e=0.1;
fun=@(x)x.^2*exp(e*x)*((x-a)+i*b)/(((x-a).^2+b.^2)*(exp(e*x)-1).^2);
q=integral(@(x)fun(x),-1,1)
5楼2015-09-23 10:16:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cob

木虫 (正式写手)

引用回帖:
5楼: Originally posted by hym5701 at 2015-09-23 10:16:30
谢谢你的提示,我用一个简单的例子,提示Inner matrix dimensions must agree.,,帮忙看看哪里不对,而且结果怎么还是一个表达式呢,不应该是一个数值吗
clc;clear
% syms x
a=0.5;
b=0.8;
c=1;
d=2;
e=0. ...

'i' 没定义
方程
fun=@(x)(x.^2).*(exp(e*x)).*(((x-a)+i*b))./(((x-a).^2+b^2).*(exp(e*x)-1).^2);
6楼2015-09-23 19:51:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hym5701

木虫 (小有名气)

引用回帖:
6楼: Originally posted by cob at 2015-09-23 19:51:18
'i' 没定义
方程
fun=@(x)(x.^2).*(exp(e*x)).*(((x-a)+i*b))./(((x-a).^2+b^2).*(exp(e*x)-1).^2);...

谢谢,i表示是虚数,不需要定义,另外问下,公式里的每个乘除为什么都要用点乘.*和点除./又不是矩阵,要是矩阵还是用点乘和点除吗?
7楼2015-09-24 12:36:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cob

木虫 (正式写手)

引用回帖:
7楼: Originally posted by hym5701 at 2015-09-24 12:36:13
谢谢,i表示是虚数,不需要定义,另外问下,公式里的每个乘除为什么都要用点乘.*和点除./又不是矩阵,要是矩阵还是用点乘和点除吗?...

正常的矩阵运算直接+ - * /
用"." 就对应数的计算
例如
A =
     1     2
     3     4
B =
     5     6
     7     8
A * B=
19    22
43    50
A.*B=
  5    12
  21    32
A./B =
    0.2000    0.3333
    0.4286    0.5000

» 本帖已获得的红花(最新10朵)

8楼2015-09-24 18:54:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hym5701

木虫 (小有名气)

送红花一朵
引用回帖:
8楼: Originally posted by cob at 2015-09-24 18:54:14
正常的矩阵运算直接+ - * /
用"." 就对应数的计算
例如
A =
     1     2
     3     4
B =
     5     6
     7     8
A * B=
19    22
43    50
A.*B=
  5    12
  21    32
A./B ...

这个我清楚,我想问的是那个公式里就每个不是就一个数值吗,干嘛得用.*和./呢,.*和./对于矩阵来说有很大的区别,但是那个式子里每个就只有一个值,相乘本来就是对应的计算啊,为什么一定要用. 呢?这个用和不用有很大的区别,为什么?
9楼2015-09-25 09:47:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cob

木虫 (正式写手)

引用回帖:
9楼: Originally posted by hym5701 at 2015-09-25 09:47:20
这个我清楚,我想问的是那个公式里就每个不是就一个数值吗,干嘛得用.*和./呢,.*和./对于矩阵来说有很大的区别,但是那个式子里每个就只有一个值,相乘本来就是对应的计算啊,为什么一定要用. 呢?这个用和不用有 ...

对x积分,是个范围 【-1,+1】,x 不是一个值.
在每一段 dx , x(i)到 x(i+1) 内,用各种算法(Mid-point rule, Simpson's rule ,Romberg integration 等)求x(i)到 x(i+1)的积分值,之后在把所有的加起来。
int 具体怎么离散x的,积分是怎么算的。我没找到具体的介绍。
10楼2015-09-25 18:59:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hym5701 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 不应该看fileCode +4 且听虎啸 2026-08-12 4/200 2026-08-12 12:40 by 行无人
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +20 Lanmanbaby 2026-08-09 33/1650 2026-08-12 11:26 by lantianda
[基金申请] FileCode能看出啥? +7 要乐观耀哥 2026-08-10 19/950 2026-08-12 10:55 by 要乐观耀哥
[论文投稿] 职称评审,求友友推荐见刊最快的期刊 +4 工厂打螺丝 2026-08-08 4/200 2026-08-12 09:18 by hansi2025
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 分享一下我之前已中青C的计划书的filecode +3 布布和一二 2026-08-11 4/200 2026-08-11 15:20 by aasahr
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +8 家与远方 2026-08-10 13/650 2026-08-11 09:49 by 家与远方
[基金申请] 基金中了 +15 laoda193707 2026-08-06 15/750 2026-08-11 00:11 by jiafei2190
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 关于代码变化问题,想知道的进来 +17 且听虎啸 2026-08-07 24/1200 2026-08-10 18:35 by zhangduo2008
[基金申请] 静等基金结果 +5 gjjjzhong 2026-08-10 16/800 2026-08-10 17:19 by Tide man
[基金申请] 关于Filecode分析方法 +3 majunge000 2026-08-10 3/150 2026-08-10 15:46 by lch2012
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 好奇怪的filecode +4 布布和一二 2026-08-08 5/250 2026-08-10 14:20 by 冰心玉壶晴
[基金申请] 2026国自然放榜时间 +9 布布和一二 2026-08-08 9/450 2026-08-10 11:22 by xxxx2020
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
信息提示
请填处理意见