Get value from function to be used in another program part 2
    7 views (last 30 days)
  
       Show older comments
    
    monkey_matlab
      
 on 19 Oct 2016
  
    
    
    
    
    Answered: Mauricio Bassallo
 on 3 May 2021
            Hello,
I have this function
function [x y] = centroid(X)
X = X/sum(X(:));
[m,n]=size(X);
[I,J]=ndgrid(1:m,1:n);
centro = [dot(I(:),X(:)),  dot(J(:),X(:))];
end
when I try to use this function call in another program to use the centro values, I get an error , "Output argument "x" (and maybe others) not assigned during call to "centroid"."
How can I use the data out from this function?
Here is my use case in another program:
A = centroid(X);
A(1,:)
Thanks.
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 19 Oct 2016
        MATLAB is case sensitive. You assign to X but your output argument is x (lower-case)
2 Comments
  Walter Roberson
      
      
 on 19 Oct 2016
				You never assign to x or y . You assign to X (a different variable), and to I, J, m, n and centro . Any variable that appears on the left side if the "=" of your "function" line must usually be assigned to.
More Answers (1)
  Mauricio Bassallo
 on 3 May 2021
        Hi, 
I have a model created in Simulink (also with Simscape elements) and I want that some some outputs (ports) of the model be sent to another program, which is going to return inputs to the model (control the model) based on the outputs that was sent by the model.
Does anyone have some idea about how to create an interface between Simulink model and a program in order to  generate such dynamic?
Thnaks in advance for your reply!
Mauricio
0 Comments
See Also
Categories
				Find more on Multibody Modeling in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

