Replace certain columns in a structure array

Hi. I have a structure array, Data, of size (1 x120). The 5th column of the field Data.Temp contains zeroes. I want to replace these zeroes with a number 20 from Data(30).Temp to Data(60).Temp. Also, I want to replace these zeroes from Data(61).Temp to Data(80).Temp with a number 24. I am unable to perform this operation. I kindly request some help from the community.

 采纳的回答

[Data(30:60).Temperature] = deal(20);
[Data(61:80).Temperature] = deal(24);

7 个评论

Hi, thanks for your reply. It replaces the entire field with the numbers 20 and 24. Also, it truncates the file to size 1x80. I am attaching a PDF snapshot of how the structure looks. This is my first seeing such structure and not sure about the terminology for it. As you can see the 5th column contains zeroes. I want to replace these zeroes with some numbers.
@Tomer: we cannot run code on a PDF of screenshots of your data.
Please upload your data in a MAT file, by clicking the paperclip button.
Oh, wait, I missed the part about the 5th column.
Unfortunately, there is no way to set particular columns using deal or equivalent. You will need to
for K = 30:60; Data(K).Temperature(5) = 20; end
for K = 61:80; Data(K).Temperature(5) = 24; end
Hi @Walter Roberson. Many thanks for your reply. I just ran the code on the MAT file that I attached in the last reply. Unfortunately, it does not replace the zeroes with the desired values.
You renamed the field since the original posting.
Also it turns out that the fields contain arrays of data.
for K = 30:60; Data(K).Temp(:,5) = 20; end
for K = 61:80; Data(K).Temp(:,5) = 24; end

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Structures 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by