matlab怎么画出一个积分函数的图像??求救
我的被积函数是这么定义的functiony=ein(x)globalwp1twp2w0rEmpmLKhmiuwgTkbreewfq;y=((x-fq).^0.5./x)....
我的被积函数是这么定义的
function y=ein(x)
global wp1 t wp2 w0 r Em pm L K h miu wg T kb ree w fq;
y=((x-fq).^0.5./x).*(1-1./(exp((h*x-miu)/(kb*T))+1)).*(x.^2-fq^2+ree^2-1i*2*ree*fq)./((x.^2-w^2+ree^2).^2+4*fq^2*ree^2);
其中x是积分变量 fq才是自变量 在主程序里想用
y=quad('ein',1,10) 来计算
自变量是global fq=350:1:1000
想最后用plot画fq与y的图像
但是计算过程中报错 fq无论是用点乘还是直接乘都不行
求大神帮忙! 就是想做出这个积分函数的图像
我弄到半夜了也没成功。。。。
本人matlab初学小白
解答成功必追高分! 展开
function y=ein(x)
global wp1 t wp2 w0 r Em pm L K h miu wg T kb ree w fq;
y=((x-fq).^0.5./x).*(1-1./(exp((h*x-miu)/(kb*T))+1)).*(x.^2-fq^2+ree^2-1i*2*ree*fq)./((x.^2-w^2+ree^2).^2+4*fq^2*ree^2);
其中x是积分变量 fq才是自变量 在主程序里想用
y=quad('ein',1,10) 来计算
自变量是global fq=350:1:1000
想最后用plot画fq与y的图像
但是计算过程中报错 fq无论是用点乘还是直接乘都不行
求大神帮忙! 就是想做出这个积分函数的图像
我弄到半夜了也没成功。。。。
本人matlab初学小白
解答成功必追高分! 展开
2个回答
展开全部
plot作图基本的两种输入方式
(1)plot(y),这个y是一个矩阵,n行m列的话,一共会画出m条,每条n个点
(2)plot(x,y),x与y是同维矩阵,比如 同是1行n列,或者同是n行1列,都能作图,只要能找到x与y一一对应的点就行,如果x与y的元素个数不能一一对应(比如不同维),那就做不出来图的
你现在workplace里看一看fp与y的储存形式,起码应该是矩阵。。。
要是函数绘图 ,有自己单独的绘图指令:fplot,基本用法是
fplot('fun',[xmin,xmax])
(1)plot(y),这个y是一个矩阵,n行m列的话,一共会画出m条,每条n个点
(2)plot(x,y),x与y是同维矩阵,比如 同是1行n列,或者同是n行1列,都能作图,只要能找到x与y一一对应的点就行,如果x与y的元素个数不能一一对应(比如不同维),那就做不出来图的
你现在workplace里看一看fp与y的储存形式,起码应该是矩阵。。。
要是函数绘图 ,有自己单独的绘图指令:fplot,基本用法是
fplot('fun',[xmin,xmax])
更多追问追答
追问
现在我计算不出y 可能是因为我的自变量fq=350:1:1000是向量形式 在计算y=quad('ein',1,10) 时积分内一些fq^2的运算无法进行 我改成fq.^2也不行 能帮忙想想办法吗
追答
你的那些全局变量得赋值啊,我看你的式子太乱,给你举个简单的例子
比如这个程序
function y=chengfa(a)
b=rand(1.10);
y=a.*b;
注意,在这里面,a是自变量,不是你想指定哪个作为自变量的。
在命令窗口输入
a=rand(1,10);%都是随机给的
y=chengfa(a)
就能输出y的值,得到一个y的一行10列的矩阵。另一个例子
function y=chengfa(a)
y=a*sin(a)/2;
你在命令窗口直接输
fplot('chengfa',[1,10]),就能得到a从1到10的函数图象。
展开全部
10sin(0.03k) Int exp(-0.08(r-1)^2) dr。
程序如下:
%用 MATLAB 算 Int exp(-0.08(r-1)^2 dr 这个积分
F = @(r)exp(-0.08*(r-1).^2);
R = 25;
Q = quad(F,0,R);
%然后再在结果上乘以 10sin(0.03k) 的部分
k = 1:628;
F1 = 10*sin(0.03*k) * Q;
plot(F1);
结果仍旧是一个sin函数
程序如下:
%用 MATLAB 算 Int exp(-0.08(r-1)^2 dr 这个积分
F = @(r)exp(-0.08*(r-1).^2);
R = 25;
Q = quad(F,0,R);
%然后再在结果上乘以 10sin(0.03k) 的部分
k = 1:628;
F1 = 10*sin(0.03*k) * Q;
plot(F1);
结果仍旧是一个sin函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询