function where input is also output
    3 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
Is it possible to have a function where the argument is also calculated in the same function? 
4 Kommentare
  Mathieu NOE
      
 am 22 Mai 2024
				ok then you can do it by iterations and hopefully it should converge , like 
% start with initial values of flow and temperature
temp = ...
flow = ...
tol = 1e-3; % tolerance on result - whatever you want 
while error > tol  % repeat the loop until results have converged
    temp_new = function1(flow); % update temperature (with function1)
    flow_new = function2(temp_new); % update flow     (with function2)
    % compute error 
    error = abs(flow_new - flow) + abs(temp_new - temp); % other error metrics are possible, this is just one example
    % update flow / temp 
    flow = flow_new;
    temp = temp_new;
end
Antworten (2)
  Star Strider
      
      
 am 22 Mai 2024
        You can certainly return the input as an output if you want to.  
A simple example — 
x = 42;
[result_val, arg_val] = square_arg(x)
function [result_val, arg_val] = square_arg(x)
arg_val = x;
result_val = x.^2;
end
.
2 Kommentare
  Kunal Kandhari
      
 am 22 Mai 2024
        Hi Marina,
I understand that you are seeking to utilize pass-by-reference to modify the input argument passed into a function. The answer to the question depends on whether the input is a handle object or a value object.
The following MATLAB Answers post will explain how to achieve that:
Siehe auch
Kategorien
				Mehr zu 2-D and 3-D Plots finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!