求教MATLAB如何做递归?

xiaostorm 2017-05-10 08:24:05
想做个已知各层声速,通过第一层入射角,第一层声速,二层入射角,来计算第二层声速,以此类推计算第N层声速。应该如何做,求大神指点
...全文
638 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaostorm 2017-05-14
  • 打赏
  • 举报
回复
引用 1 楼 rabbitjerry 的回复:
新建一个函数文件,把相邻界面声速和入射角作为输入参数;本层声速作为输出参数。例如:

function vel2 = calSoundVel(vel1, angle)
% 此处写这三个数字的关系式
end
再建立一个脚本文件,即没有函数,假设已知层数N、入射角、和第一层的声速. 写入以下内容:

angle = [0.1 0.11 ...];%共N项
vel = ones(1,N);
vel(1) = 1467; %第一层声速
for ii = 2:N
vel(ii) =  calSoundVel(vel(ii-1), angle(ii));
end
引用 1 楼 rabbitjerry 的回复:
新建一个函数文件,把相邻界面声速和入射角作为输入参数;本层声速作为输出参数。例如:

function vel2 = calSoundVel(vel1, angle)
% 此处写这三个数字的关系式
end
再建立一个脚本文件,即没有函数,假设已知层数N、入射角、和第一层的声速. 写入以下内容:

angle = [0.1 0.11 ...];%共N项
vel = ones(1,N);
vel(1) = 1467; %第一层声速
for ii = 2:N
vel(ii) =  calSoundVel(vel(ii-1), angle(ii));
end
谢谢大神,我试试
xiaostorm 2017-05-14
  • 打赏
  • 举报
回复
谢谢 大神 我试试!
rabbitjerry 2017-05-12
  • 打赏
  • 举报
回复
新建一个函数文件,把相邻界面声速和入射角作为输入参数;本层声速作为输出参数。例如:

function vel2 = calSoundVel(vel1, angle)
% 此处写这三个数字的关系式
end
再建立一个脚本文件,即没有函数,假设已知层数N、入射角、和第一层的声速. 写入以下内容:

angle = [0.1 0.11 ...];%共N项
vel = ones(1,N);
vel(1) = 1467; %第一层声速
for ii = 2:N
vel(ii) =  calSoundVel(vel(ii-1), angle(ii));
end

3,424

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧