日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab在振动信号处理中的应用_Matlab面向对象程序设计及其在地球物理学中的应用(4)——类的属性

發布時間:2023/12/19 循环神经网络 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab在振动信号处理中的应用_Matlab面向对象程序设计及其在地球物理学中的应用(4)——类的属性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考資料

徐瀟,李遠. MATLAB面向對象編程——從入門到設計模式(第一版)

程序實現

Matlab 2019a

地球物理局 信息化處 地球物理局 基建處 數值計算科聲明: # 歡迎批評指正,禁止轉載

目 錄

石中居士:Matlab面向對象程序設計及其在地球物理學中的應用——目錄?zhuanlan.zhihu.com

類的屬性

訪問屬性

我們使用

運算符(成員選擇運算符)來訪問對象的屬性。

命令行窗口

>> p1 = Point3D(1.0,2.0,3.0)p1 = Point3D - 屬性:x: 1y: 2z: 3>> p1.xans =1>> p1.yans =2>> p1.zans =3

屬性的默認值

在Property模塊中可以直接給屬性賦值,這個就是默認值。

Point3D.m

% 徐瀟,李遠. MATLAB面向對象編程——從入門到設計模式(第一版)P16 % 地球物理局 信息化處 % 地球物理局 基建處 數值計算科 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% classdef Point3D < handle% 這個類用來表示三維坐標軸上的點propertiesx = 1.0; % 定義x坐標y = 2.0; % 定義y坐標z = 3.0; % 定義z坐標end end

命令行窗口

>> Point3Dans = Point3D - 屬性:x: 1y: 2z: 3

默認值設置也支持表達式。

Point3D.m

% 徐瀟,李遠. MATLAB面向對象編程——從入門到設計模式(第一版)P16 % 地球物理局 信息化處 % 地球物理局 基建處 數值計算科 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% classdef Point3D < handle% 這個類用來表示三維坐標軸上的點propertiesx = cos(pi/6); % 定義x坐標y = sin(pi/6); % 定義y坐標z = tan(pi/6); % 定義z坐標end end

命令行窗口

>> Point3Dans = Point3D - 屬性:x: 8.660254037844387e-01y: 4.999999999999999e-01z: 5.773502691896257e-01

如果使用表達式,該表達式僅在類定義被裝載時執行一次。如果默認值是表達式,那么它的計算結果最好是固定的。

常量屬性

常量(Constant)屬性是在對象生存周期中,值保持不變的屬性。無論在類的內部或者外部對該屬性進行修改,都會報錯。定義常量屬性需要使用Constant關鍵字。如果不顯式給定常量屬性的值,默認值是empty double。這可以用來封裝一些常用的常量,以便在程序中可以不用創建對象就直接使用類中的常量。比如用A.R 來查詢A類中的常量成員R。

A.m

% 徐瀟,李遠. MATLAB面向對象編程——從入門到設計模式(第一版)P16 % 地球物理局 信息化處 % 地球物理局 基建處 數值計算科 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% classdef A < handleproperties(Constant)R = pi/180;end end

命令行窗口

>> A.Rans =1.745329251994330e-02

非獨立屬性

假設三維坐標

,到原點的距離 可以表示為 。 值依賴于 ,它就是非獨立的。

我們可以在構造函數中設定初始值,但如果對象的

至少有一個改變,則屬性 必須重新計算,所以還得提供一個更新 的方法。這樣做并不方便。

我們可以把

聲明為Dependent屬性。對象內部沒有給該屬性分配物理存儲空間,每次該屬性被訪問時,其值被動態計算出來。計算該屬性的方法由一個get方法提供。

Point3D.m

% 徐瀟,李遠. MATLAB面向對象編程——從入門到設計模式(第一版)P16 % 地球物理局 信息化處 % 地球物理局 基建處 數值計算科 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% classdef Point3D < handle% 這個類用來表示三維坐標軸上的點propertiesx % 定義x坐標y % 定義y坐標z % 定義z坐標end%%%%%%%% Dependent %%%%%%%%%%%%%%%%%%%%%%%%%%%%%properties(Dependent)rend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%methodsfunction obj = Point3D(x0,y0,z0) % Point3D類的構造函數obj.x = x0;obj.y = y0;obj.z = z0;end%%%%%%%% get 方法 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function r = get.r(obj)r = sqrt(obj.x^2 + obj.y^2 + obj.z^2);disp('get.r called');end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end end

命令行窗口

>> p1 = Point3D(1.0,2.0,3.0); >> p1.r get.r calledans =3.741657386773941e+00>> p1.x = 2.0; % 修改p1.x的值 >> p1.r % 檢查p1.r的值 get.r called % get.r確實被調用了,更新了r值ans =4.123105625617661e+00

聲明成Dependent屬性,還可以支持dot和向量化操作。如果 是一個矢量或者矩陣,在類的外部,可以對 直接進行矢量操作。p1.r(1:3)

如果

是一個結構體,在類的外部,可以使用dot繼續訪問 內部的其它fields。p1.r.otherfields

如果要在視圖類代碼中添加一個屬性,記錄GUI在文本編輯框的輸入,該屬性可以設計成Dependent屬性。

View.m

% 徐瀟,李遠. MATLAB面向對象編程——從入門到設計模式(第一版)P16 % 地球物理局 信息化處 % 地球物理局 基建處 數值計算科 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% classdef View < handlepropertieshFighEditend%%%%%%%%%% Dependent %%%%%%%%%%%%%%%%%%%%%%%%properties(Dependent)textend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%methodsfunction obj = View()% 兩個屬性都是對象obj.hFig = figure();obj.hEdit = uicontrol('style','edit','parent',obj.hFig);end%%%%%%% get方法 %%%%%%%%%%%%%%%%%%%%%%%%%function str = get.text(obj)str = get(obj.hEdit,'String');end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end end

命令行窗口

>> obj = View(); >> obj.textans =空的 0×0 char 數組

在圖形窗口輸入1.5>> obj.textans ='1.5'

隱藏屬性

隱藏(Hidden)效果是在命令行中查看對象信息時,該屬性不會顯示出來。Hidden屬性默認值是False,也就是非隱藏。

A.m

% 徐瀟,李遠. MATLAB面向對象編程——從入門到設計模式(第一版)P16 % 地球物理局 信息化處 % 地球物理局 基建處 數值計算科 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% classdef A < handle%%%%%%% Hidden %%%%%%%%%%%%%%%%%%properties(Hidden)varend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end

命令行窗口

>> obj = A()obj = A (不具有屬性)。

如果我們知道該屬性的名字,也是可以正常訪問的。

>> obj.varans =[]

如果我們定義的類中有很多屬性和方法,那么可以使用Hidden關鍵字指定那些不希望顯示的屬性和方法,隱藏細枝末節,只保留最重要的內容。


封面:[1]

參考

  • ^https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1597989657542&di=a9f8ef8608a6acdfed6165e5858bb95e&imgtype=0&src=http%3A%2F%2Ferp.htzjg.com%2F.%2Fuploads%2F502%2Fline_picture%2F20180806%2F488911_4b7560.jpg
  • 總結

    以上是生活随笔為你收集整理的matlab在振动信号处理中的应用_Matlab面向对象程序设计及其在地球物理学中的应用(4)——类的属性的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。