How do I use variables calculated in one function, in another function.

I have the first .m file
function [Properties] = readProperties(FEA)
%Reads the material properties about the beam
format shorteng
Properties= fscanf(FEA,'%*s %*s %*s %g %g %g',[3,1])'
end
it reads in 3 numeric values into an array called "Properties"
function [] = assembleGlobalStiffnessMatrix(Properties)
% Sets up Stiffness Matrix
Properties
end
In this separate .m file, how can I get that variable, "Properties", to show. Right now it just gives an error saying that "Properties" doesn't exist.
My assignment specifies that the use of global variables is prohibited if that makes a difference.

Answers (1)

In the first function readProperties, you are reading the properties of your structure in an array. According to the command it reads three numbers. After running this file, have you checked what is output properties? Is it a array with three numbers? If it is array then, depending on your order in file FEA fed to first function, your values would be.
property1 = properties(1) ;
property2 = properties(2) ;
property3 = properties(3) ;
The above should be used in your second function to assemble stiffness matrix.

4 Comments

In the first function, the output of Properties is the array of number it read from the .txt file. e.g Properties=[1,2,3]
but upon calling Properties in the second function, I get an error that Properties does not exist. How can I pass this data into another function without using global variables?
Yes I got that.....if the properties are defined , then it can be sent to the second function.
How/ where you are calling the functions?
There is a parent function reading the nested functions cronologically.

This question is closed.

Products

Asked:

on 6 Jul 2016

Closed:

on 6 Jul 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!