2021-05-12 14:32:11
MATLAB通過struct函數建立結構體陣列的方法
本文介紹MATLAB通過struct函數建立結構體陣列的方法,其中分別用{ }和[ ]給不同欄位賦值時,得到的結構數體陣列大小是不一樣,另外還可以對結構體陣列的某個欄位事後單獨賦值。
1
第一,啟動MATLAB,輸入以下程式碼,分別使用{ }和[ ]給欄位賦值。
close all; clear all; clc
% MATLAB通過struct函數建立結構體陣列的方法
% (1)使用{}時
teachers_1=struct('name',{'Xinlaoshi','Lilaoshi','Yaolaoshi'},...
'age',{35,45,30},'wage',{90000,80000,100000});
% (2)使用[]時
teachers_2=struct('name',['Xinlaoshi','Lilaoshi','Yaolaoshi'],...
'age',[35,45,30],'wage',[90000,80000,100000]);
2
第二,儲存和執行上述程式碼,在工作區得到teachers_1和teachers_2兩個結構體陣列如下圖,teachers_1的大小為1x3,而teachers_2的大小為1x1,這就是使用{ }和[ ]給欄位賦值產生的不同。
3
第三,雙擊開啟teachers_1和teachers_2兩個結構體陣列,裡面的資料儲存方式是不一樣的。
4
第四,在命令列視窗輸入whos,得到teachers_1和teachers_2兩個結構體陣列的大小、型別等資訊如下圖。
5
第五,在編輯器中接著輸入如下程式碼,建立結構體陣列teachers_3,
teachers_3=repmat(struct('name',['Xinlaoshi','Lilaoshi','Yaolaoshi'],...
'age',[35,45,30],'wage',[90000,80000,100000]),1,3);
6
第六,儲存和執行上述程式碼,得到結構體陣列teachers_3,在命令列視窗輸入teachers_3(3).wage=[10000,50000,70000,90000],對結構體陣列teachers_3(3)中的wage進行單獨賦值,然後在工作區雙擊teachers_3,可以看到teachers_3(3).wage已被單獨賦值。以上就是MATLAB通過struct函數建立結構體陣列的方法。
相關文章