Using a variable as both output and input and writing a condition in a function
显示 更早的评论
Hei , I have this function
function [lambda, lambdap,phip] = Palaeomagfun(I ,D,lambda,lambdax,phix )
lambda=atand(tand(I)/2) %in degree
lambdap=asind(sind(lambdax)*sind(lambda)+cosd(lambdax)*cosd(lambda)*cosd(D))
if sind(lambda)>=sind(lambdap)*sind(lambdax)
phip=phix+asind(cosd(lambda)*sin(D)/cosd(lambdap))
elseif sind(lambda)<sind(lambdap)*sind(lambdax)
phip=phix+asind(cosd(lambda)*sind(D)/cosd(lambdap))-180
end
and this script
Problem 2:
I=30
lambdax=47
phix=20
D=80
[lambda, lambdap,phip] = Palaeomagfun(I ,D,lambda,lambdax,phix )
*first,Is it possible to use lambda as an output and input at the same time or i need two function or something else?
second: is my if coding correct in the function?*
2 个评论
Adam
2017-11-21
In general, yes, it is possible to use the same variable as input and output, both in the function definition and in the function call, the two not being the same thing.
However, in your case passing in lamda is redundant anyway since you recalculate it straight away.
F.O
2017-11-21
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!