如何在matlab中输入以下公式,自定义参数的值得到计算结果,求大神指导!
如图公式为掺铒光纤放大器EDFA的增益G与掺铒光纤长度L和输入泵浦功率Ppin关系的解析表达式。请教大神如何在matlab中输入这个公式,假设其中Pth、αs、αp的值已...
如图公式为掺铒光纤放大器EDFA的增益G与掺铒光纤长度L和输入泵浦功率Ppin关系的解析表达式。请教大神如何在matlab中输入这个公式,假设其中Pth、αs、αp的值已知,可以直接定义赋值,如何对参数L、Ppin赋多个值然后计算出G的结果,并得出G的变化曲线。
展开
1个回答
展开全部
1. 先建一个函数文件myfunc.m
% myfunc.m
function ya=myfunc(L,pin)
pth=1;
alps=1;
alpp=1;
syms y;
exp=log(pin/pth-0.5*alpp*L-0.5*alpp/alps*log(10)/10*y)+0.5*alpp*L-0.5*alpp/alps*log(10)/10*y-log(pin/pth);
ya=double(solve(exp,'y'));
end
2. 然后运行如下代码:
clear;
lLen=10;pinLen=10;
l=linspace(5,10,lLen);
pin=linspace(5,10,pinLen);
[ll,ppin]=meshgrid(l,pin);
g=zeros(pinLen,lLen);
for i=1:pinLen
for j=1:lLen
g(i,j)=real(myfunc(l(j),pin(i)));
end
end
mesh(ll,ppin,g)
我懒得加注释,你应该能看懂吧?
有帮助请采纳╮(╯▽╰)╭
追问
如果是要分别得出G与长度L的关系或者G与功率Ppin的关系曲线需要怎么改代码呢?就是比如设L为一定值,Ppin为变量,计算G的结果
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询