what this matlab syntax var1= input.var2 corresponds to ?

14 Ansichten (letzte 30 Tage)
Hello, i'm beginner in matlab and i'm asking for help, can someone tell me the signification of this matlab syntax ?
function [output1, output2] = BagOfWords(input, mode, geneIndex, dataForCurrentGene)
switch mode
case 'init'
data = input.data;
nGenesOverall = input.nGenes;
nFeatures = input.nFeatures;
maxNumberOfComponents = input.maxNumberOfComponents;
sparseMatrix = zeros(nGenesOverall,nFeatures);
sparseVector = false(1,nGenesOverall);
% Define the cluster structure
clusterStruct(1,maxNumberOfComponents) = struct(...
'nFeatures', [], ...
'nGenesOverall', [], ...
'beta', [], ...
'sumBeta',[],...
'nGenes', [], ...
'logMarginalLikelihood', [],...
'dataCounts', [], ...
'logicalGeneIDs', [], ...
'N', []);
I didn't understand if input is a simple argument of the function BagOfWords or it refers to requesting user input? Else, what do these instructions (example: nGenesOverall = input.nGenes ) mean ?

Akzeptierte Antwort

Brent Kostich
Brent Kostich am 29 Mai 2020
Bearbeitet: Brent Kostich am 29 Mai 2020
Regarding this segment of code
BagOfWords(input, mode, geneIndex, dataForCurrentGene)
Everything inside the parenthesis is an input argument to the function BagOfWords. In the case of this funtion, input is a structure array. The dot notation references data in different fields of that array. For example:
input.nGenes follows the form struct.field
Since you are new to MATLAB, the above example is just a primer. I would encouage you to read through some of the documentation or look into Onramp to learn more about the syntax.

Weitere Antworten (1)

Fangjun Jiang
Fangjun Jiang am 29 Mai 2020
It is called struct. Follow the link to see the document and you can try youself.
input.var2=2;
input.var3=rand(3);
MyVar=input.var3

Kategorien

Mehr zu Variables 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!

Translated by