MATLAB如何在一个文件中调用另一个文件的输出结果

第一个程序symsneffH=input('请输入芯层厚度=');lanmuda=input('请输入波长=');n1=input('请输入上层折射率=');n2=inp... 第一个程序
syms neff
H=input('请输入芯层厚度= ');
lanmuda=input('请输入波长= ');
n1=input('请输入上层折射率= ');
n2=input('请输入中间层折射率= ');
n3=input('请输入下层折射率= ');
N=input('请输入模数= ');
k0=2*pi/lanmuda;
r1=sqrt(neff^2-n1^2)*k0;
r2=sqrt(n2^2-neff^2)*k0;
r3=sqrt(neff^2-n3^2)*k0;
for i=0:N
q=i;
fun=r2*H-atan(r1/r2)-atan(r3/r2)-q*pi;
eval(['neff1', num2str(i), '=solve(fun==0,neff);']);
end
for i = 0 : N
eval(['neff1',num2str(i)]);
end
第二个
global syms neff
w=input('请输入脊宽:');
lanmuda=input('请输入波长:');
M=input('请输入模数= ');
k0=2*pi/lanmuda;
r1=sqrt(neff^2-neff1^2)*k0;
r2=sqrt(neff2^2-neff^2)*k0;
r3=sqrt(neff^2-neff3^2)*k0;
for i=0:M
q=i;
fun=r2*w-atan(r1/r2)-atan(r3/r2)-q*pi;
eval(['neff', num2str(i), '=solve(fun==0,neff);']);
end
for i = 0 : M
eval(['neff',num2str(i)]);
end
第二个程序需要调用第一个程序的输出neff1,由于第一个程序N的不同,输出结果为neff0,neff1.....neff(N-1).第二个程序和第一个程序中多的波长相等。M与N可等可不等。请问第二个程序怎么写?
展开
 我来答
紫冰雨的季节
推荐于2018-05-07 · TA获得超过7.8万个赞
知道大有可为答主
回答量:1.4万
采纳率:91%
帮助的人:1496万
展开全部
一:另外一个程序肯定是个m文件,或者一个函数,假设函数名为fun,
那么在这个程序中,输入代码:c=fun(a,b);
二:其中,a,b是指要得到另外一个程序的运行结果需要输入的参数,
c是指能得到的结果。
这样,在本程序中就用到了另一个程序运行的结果。
cuirun1984316
2014-05-07 · 超过21用户采纳过TA的回答
知道答主
回答量:52
采纳率:100%
帮助的人:31.4万
展开全部
在第一个程序中 将输出用save保存到文件 然后再第二个程序里 使用load加载这些输出
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式