想用matlab的循环结构利用quad quadl trapz解决六个函数的积分值问题
来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/29 17:41:40
想用matlab的循环结构利用quad quadl trapz解决六个函数的积分值问题
f1=@(x)1;
f2=@(x)x;
f3=@(x)x.^2;
f4=@(x)x.^3;
f5=@(x)x.^4;
f6=@(x)exp(x);
x=0:0.01;2;
h=0;
f=2;
g={f1 f2 f3 f4 f5 f6};
for i=1:6
A(i)=quad(g(i),h,f);
B(i)=quadl(g(i),h,f);
C(i)=trapz(x,g(i)(x));
end
其中g={f1 f2 f3 f4 f5 f6};这一步可能有问题,g(2)并非是quad quadl trapz所需的函数,但是单独在命令窗口输入g(2),得ans=@(x)x;再输入quad(@(x)x,h,f)可得正确答案,但输入quad(g(2),h,f)却显示错误,求高手指导,用循环结构实现六个函数的三种积分
f1=@(x)1;
f2=@(x)x;
f3=@(x)x.^2;
f4=@(x)x.^3;
f5=@(x)x.^4;
f6=@(x)exp(x);
x=0:0.01;2;
h=0;
f=2;
g={f1 f2 f3 f4 f5 f6};
for i=1:6
A(i)=quad(g(i),h,f);
B(i)=quadl(g(i),h,f);
C(i)=trapz(x,g(i)(x));
end
其中g={f1 f2 f3 f4 f5 f6};这一步可能有问题,g(2)并非是quad quadl trapz所需的函数,但是单独在命令窗口输入g(2),得ans=@(x)x;再输入quad(@(x)x,h,f)可得正确答案,但输入quad(g(2),h,f)却显示错误,求高手指导,用循环结构实现六个函数的三种积分
lz 可以这样修改:
clear;clc
f1=@(x)1*(x+1)./(x+1);%这里需要改一下,不然没有x自变量,计算机没法算
f2=@(x)x;
f3=@(x)x.^2;
f4=@(x)x.^3;
f5=@(x)x.^4;
f6=@(x)exp(x);
x=0:0.01:2;
h=0;
f=2;
g={f1 f2 f3 f4 f5 f6};
for i=1:6
A(i)=quad(g{i},h,f);%必须用{}
B(i)=quadl(g{i},h,f);
C(i)=trapz(x,g{i}(x));
end
结果::
A =
2.0000 2.0000 2.6667 4.0000 6.4000 6.3891
B =
2.0000 2.0000 2.6667 4.0000 6.4000 6.3891
C =
2.0000 2.0000 2.6667 4.0001 6.4003 6.3891
希望能帮助你
再问: 非常感谢啦 多谢指点
clear;clc
f1=@(x)1*(x+1)./(x+1);%这里需要改一下,不然没有x自变量,计算机没法算
f2=@(x)x;
f3=@(x)x.^2;
f4=@(x)x.^3;
f5=@(x)x.^4;
f6=@(x)exp(x);
x=0:0.01:2;
h=0;
f=2;
g={f1 f2 f3 f4 f5 f6};
for i=1:6
A(i)=quad(g{i},h,f);%必须用{}
B(i)=quadl(g{i},h,f);
C(i)=trapz(x,g{i}(x));
end
结果::
A =
2.0000 2.0000 2.6667 4.0000 6.4000 6.3891
B =
2.0000 2.0000 2.6667 4.0000 6.4000 6.3891
C =
2.0000 2.0000 2.6667 4.0001 6.4003 6.3891
希望能帮助你
再问: 非常感谢啦 多谢指点
想用matlab的循环结构利用quad quadl trapz解决六个函数的积分值问题
matlab中 积分函数quad使用问题
matlab quad积分问题
关于matlab的quad函数
matlab积分函数quad用法
Matlab 中为什么不能运用trapz或quad或程序求解广义积分?
MATLAB中quad的误差问题
用MATLAB 中的quad函数求数值积分怎么求,为什么我的出不来?
matlab中求定积分中 int 与quad的区别?
matlab quad 函数代码中的y(1) ,跟数值积分分成的n个节点有什么关系,
在问题‘matlab求带参数的积分,符号积分解不出,用数值积分怎么搞’中,如果用quad应该怎么做?
请问matlab trapz函数 用法?