How to multiply arrays in struct file with a variable?
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have four variables that are known to me, i.e. 'high', 'low' and 'a' and 'b'. I have a mat file, which contains a lot of arrays. I successfully load the array I want. But I want to multiply the arrays with variable 'a' and 'b'.
filename1 = sprintf('Zy%d', low); c = a * load('Z.mat', filename1); filename2 = sprintf('Zy%d', high); d = b * load('Z.mat', filename2);
But I get this answer:
Undefined operator '*' for input arguments of type 'struct'.
How do I multiply the variable with these loaded arrays?
0 Commenti
Risposta accettata
Rik
il 1 Ott 2018
The load functions loads to a struct, where each variable is a field, even when you specify only a single variable. The code below should do the trick.
filename1 = sprintf('Zy%d', low);
temp=load('Z.mat', filename1);
c = a * temp.(filename1);
filename2 = sprintf('Zy%d', high);
temp=load('Z.mat', filename2);
d = b * temp.(filename2);
If you're working on Octave the following syntax might work as well
d = b * load('Z.mat', filename2).(filename2);
0 Commenti
Più risposte (1)
Vedere anche
Categorie
Scopri di più su Structures in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!