How to multiply arrays in struct file with a variable?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ahmad Hasnain
el 1 de Oct. de 2018
Respondida: Ahmad Hasnain
el 1 de Oct. de 2018
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 comentarios
Respuesta aceptada
Rik
el 1 de Oct. de 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 comentarios
Más respuestas (1)
Ver también
Categorías
Más información sobre Structures en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!