24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1411  |  回复: 7

在水一方801

新虫 (初入文坛)

[求助] 求助:matlab解超越方程组得到数值解,要对此数值解的求定积分,得到一个确定的数值。已有1人参与

求助:matlab解3个超越方程组得到数值解,解完画出图后,要对其中一个函数图形求定积分,此时该用什么函数;如果没有合适的函数,利用定积分的定义写成for循环,这种方法是否靠谱,请大神赐教!
例如写成下面的循环求定积分。  求y(1)所对应的定积分,t为自变量,M为积分值。
for i=0:1e-14:7e-8;
    t=i;
    M = M+y(1)*1e-14;
end
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

在水一方801

新虫 (初入文坛)

自己顶一下,我先问如何对数值解拟合的函数求积分
2楼2015-06-08 10:36:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★
在水一方801: 金币+5, ★★★★★最佳答案, 非常感谢,先给分,后试验。 2015-06-09 13:48:19
引用回帖:
2楼: Originally posted by 在水一方801 at 2015-06-08 10:36:40
自己顶一下,我先问如何对数值解拟合的函数求积分

拟合出来的方程,int 函数求积分即可。
只有散点,trapz函数求积分即可。

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

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
3楼2015-06-08 16:41:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

在水一方801

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by 月只蓝 at 2015-06-08 16:41:54
拟合出来的方程,int 函数求积分即可。
只有散点,trapz函数求积分即可。...

我还是没有试出来,大神能帮忙写写程序吗。我附上我的程序。
对程序中y(1)的图中的曲线求积分,如何求,希望能写出详细的程序!
麻烦了!
4楼2015-06-24 10:23:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

在水一方801

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by 月只蓝 at 2015-06-08 16:41:54
拟合出来的方程,int 函数求积分即可。
只有散点,trapz函数求积分即可。...

附上程序

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : Qswitch.m
  • 2015-06-24 10:24:30, 385 bytes
  • 附件 2 : rate_eq.m
  • 2015-06-24 10:24:30, 582 bytes
5楼2015-06-24 10:24:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

在水一方801

新虫 (初入文坛)

送红花一朵
引用回帖:
3楼: Originally posted by 月只蓝 at 2015-06-08 16:41:54
拟合出来的方程,int 函数求积分即可。
只有散点,trapz函数求积分即可。...

麻烦您帮忙看一下程序,帮忙对y(1)进行积分,麻烦了,我尝试了很久没能成功。
6楼2015-06-25 11:27:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
6楼: Originally posted by 在水一方801 at 2015-06-25 11:27:01
麻烦您帮忙看一下程序,帮忙对y(1)进行积分,麻烦了,我尝试了很久没能成功。...

clc
clear
close all

T0 = 0.938;
R = 0.9;
Rp = 4.7463e27;

y0 = [1.0e7;5.3676e24;1.4e21];
tspan=[0 6e-7];
tic
[t,y] = ode23('rate_eq',tspan,y0,[],Rp,T0,R);
toc

figure
subplot(3,1,1);
plot(t,y(:,1));
xlabel('t(s)');
ylabel('y1');
y1=y(:,1);
jifen1=trapz(t,y1)


subplot(3,1,2);
plot(t,y(:,2));
xlabel('t(s)');
ylabel('y2');

subplot(3,1,3);
plot(t,y(:,3));
xlabel('t(s)');
ylabel('y3');


加了两行:
y1=y(:,1);
jifen1=trapz(t,y1)

即得y1对t的积分:
jifen1 =

  4.2736e+003
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
7楼2015-06-25 13:42:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

在水一方801

新虫 (初入文坛)

引用回帖:
7楼: Originally posted by 月只蓝 at 2015-06-25 13:42:07
clc
clear
close all

T0 = 0.938;
R = 0.9;
Rp = 4.7463e27;

y0 = ;
tspan=;
tic
= ode23('rate_eq',tspan,y0,[],Rp,T0,R);
toc

figure
subplot(3,1,1);
plot(t,y(:,1));
xlabel('t(s)');
y ...

原来要这样,get it,非常感谢!
8楼2015-06-25 15:00:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 在水一方801 的主题更新
信息提示
请填处理意见