首頁 > 軟體

MATLAB通過struct函數建立結構體陣列的方法

2019-12-25 01:49:07

本文介紹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函數建立結構體陣列的方法。



IT145.com E-mail:sddin#qq.com