1. 程式人生 > >Matlab程式設計日誌之常用技巧總結

Matlab程式設計日誌之常用技巧總結

筆者經常編寫matlab處理日常工作,比如讀寫文字檔案、資料表格、guide視覺化介面等等,matlab以其強大的函式和矩陣運算功能聞名。
本人在編寫程式的過程中常常迷茫是否有相關函式支援我要實現的某一功能,只有積累的多了才能遊刃有餘。如果不經常用,或許一段時間之後就忘記了很多的函式用法或技巧,因此有必要做一下日誌。
這裡僅記錄函式名稱,具體用法可參考help,可在命令列視窗輸入doc查詢。
一、字串操作
1.開啟檔案:uigetfile( )和fopen( )
uigetfile提供對話方塊視窗選擇並讀取需要的檔案,返回FileName和FilePath。

[FileName,FilePath] = uigetfile('*.txt'
);

fopen開啟檔案返回正整數的檔案識別符號。

fid = fopen('*.txt','r');

2.遍歷檔案並讀取一行字串:while迴圈和fgetl( )

while ~feof(fid)  %feof函式判斷是否到達檔案最後
    str=fgetl(fid);  %讀取某一行字串
end
fclose(fid);

3.查詢字串:strfind( )

strfind(strCL, '/begin start') %查詢字串'/begin start'

4.字串分割:regexp( )

Str=regexp(str,'\s+','split'); %按照正則表示式'\s+'
分割字串

5.字串刪除末尾空格:deblank( )

%% matlab example
A{1,1} = 'MATLAB    ';
A = deblank(A)
A = 
   'MATLAB'

6.字串拼接:strcat( )、char( )、[ ]
strcat( )函式返回橫向拼接的字串。
char( )函式返回char型的字串。
[ ]中括號用了拼接陣列、字串。

7.字串寫入到檔案:for迴圈+fprintf( )

fid = fopen('*.txt','w'); 
for i = 1:size(Lay, 1) 
    fprintf(fid, '%s\n'
, Lay{i}); %將cell型Lay的每一行字串寫入到文字 end

二、資料表格操作
1.讀取excel裡某個sheet裡的資料:xlsread( )

 [FileName,PathName] = uigetfile('*.xlsx','Select the Excel file');
 [~,~,sheet0] = xlsread(FileName,'sheet0');
 data0 = sheet0(:,:); %讀取sheet0所有行和列的資料到data0

2.eval( )和evalin( )
eval( )函式實現括號中字串表示式的執行

%*****************************************************
%類似於直接在命令列視窗輸入
%save('C:\MATLAB\2015b\bin\work\file\MPi.txt','MPstr');
%實現迴圈寫入到不同檔案中
%******************************************************
for i=1:length
    eval(['save(''','C:\MATLAB\2015b\bin\work\file\MP',...
               num2str(i),'.txt''',',','''MPstr'')']);
end

evalin( )函式可以獲取workspace裡的變數

v = evalin('base', 'var');%獲workspace里名為var的變數
value = evalin('base', 'whos');%獲workspace裡所有的變數

2.waitbar使用:結合for迴圈

wait_h = waitbar(0,'Processing...');
for i = 2:timeLength
    ...
    if mod(i,10000) == 0
        waitbar(i/timeLength,wait_h);
    end
end

另外,熟練運用if、for、while語句是提高的關鍵,不斷地實踐並除錯有助於程式設計邏輯能力的提高。
今日內容暫時如此,如有問題不吝賜教!

作者:Wayne J
郵箱:[email protected]

相關推薦

Matlab程式設計日誌常用技巧總結

筆者經常編寫matlab處理日常工作,比如讀寫文字檔案、資料表格、guide視覺化介面等等,matlab以其強大的函式和矩陣運算功能聞名。 本人在編寫程式的過程中常常迷茫是否有相關函式支援我要實現的某一功能,只有積累的多了才能遊刃有餘。如果不經常用,或許一段

滲透測試專題實戰技巧總結

攻擊 根據 無法 cookie 技術 進一步 查看 bsp logs 1、首先明確你的攻擊目標,這很重要,這可以避免你使用眼花繚亂的工具,從而找不到攻擊點。 2、你的攻擊目標可以是操作系統、web服務器及各種服務器,所以在不知道這些信息的情況下首先得看知道自己的目標系統環境

matlab學習筆記常用命令(一)

plot 我們 all 查看 學習 ear tla clear 但是 一.清除命令。   1.clear all;%清除所有變量,通常在matlab的工作區;另外斷點也會被清除掉   2.close all;%關閉所有窗口(除了編輯器窗口、命令窗口、幫助窗口)   3.cl

spark 常用技巧總結

val 技巧總結 nbsp net path 解析url 總結 eth 常用技巧 解析url scala> import java.net.URLimport java.net.URL scala> val urlstr="http://www.baidu.co

pandas 常用技巧總結

false num app pen pandas 合並 數字 選擇 常用技巧 切片: loc:df.loc[num]:選擇df 某一行 seriesdf.loc[[num1,num2]]: 選擇df 某幾行df.loc[[True,False,True, ,True]]

jQuery常用技巧總結

1、關於頁面元素的引用 通過jquery的$()引用元素包括通過id、class、元素名以及元素的層級關係及dom或者xpath條件等方法,且返回的物件為jquery物件(集合物件),不能直接呼叫dom定義的方法。 2、jQuery物件與dom物件的轉換 只有jquery物件才能使用jquery定

PHP操作Redis常用技巧總結

一、Redis連線與認證 1 2 3 4

jQuery基礎常用方法總結

一個 常用方法 () html query div 常用 jquery 子集 ①jQuery中的find()方法 <div class="css">   <p class="rain">測試1</p> </div> <d

提高 MySQL 效能常用技巧

基準測試工具: http_load sysbench 查看錶相關操作: show create table [table_name]; describe [table_name]; show table status like [table_name];

PHP操作Redis常用技巧總結【轉】

一、Redis連線與認證 1 //連線引數:ip、埠、連線超時時間,連線成功返回true,否則返回false 2 $ret = $redis->connect('127.0.0.1', 6379, 30); 3 //密碼認證:成功返回true,否則返回false 4 $ret = $redis-

EXPDP、IMPDP規範及常用技巧總結

一、巧用並行提升速度 在EXPDP/IMPDP過程中,為了提升速度,而使用並行,有人說不就是加個parallel=n引數嘛,但該如何利用該引數做到真正提升速度呢? 1、單表匯出匯入資料時使用parallel=n引數無效 2、匯入(IMPDP)索引過程中是序列的方式,雖然在執行計劃中看到建索引時是

latex常用技巧總結

關於使用latex的一些小總結 常用的線上latex sharelatex在2018年的後面階段會和overleaf合併,構成overleaf v2版本!!!! 常用的latex排版 圖片排版 \usepackage{su

ACM程式設計中的小技巧總結 (持續更新)

ACM中有很多小技巧和有趣的寫法。雖然無法改變演算法的複雜度,但是卻可以縮短程式碼長度、減少定址時間和冗餘狀態等等。 在此對寫程式的時候一些小技巧以及一些函式的簡潔寫法進行總結,以後也會不斷更新。 當然很多函式它本來就這麼短,反正大概我知道的一行函式我都會記下來。 不過很多

Oracle資料庫SqlLoad常用技巧總結

本文我們主要介紹了Oracle資料庫SqlLoad常用技巧的相關知識,共包括14種常用的使用技巧以及測試用檔案的原始碼,希望能夠對您有所收穫! AD:【線下活動】三大新銳HTML 5企業匯聚51CTO—大話移動前端技術 Oracle資料庫SqlLoad常用

office常用技巧總結【excel篇】

前言:總以為自己對office很熟,其實弱爆了1. excel的單元格內部如何(刪除)換行(excel 2010)換行:【Alt】+【Enter】刪除換行:【ctrl】+【H】,出現【查詢和替換】選項卡 ->                  【替換內容】專案,輸入【c

Eclipse常用技巧總結:熱鍵,自定義模版及其他

http://developer.51cto.com/art/200906/129804.htm 關於eclipse的使用方面,其實有些東西都是小技巧的東西。知道了這些Eclipse常用技巧後,對程式設計會帶來很大的方便。 一.老是使用滑鼠操作,有的功能要點好多次滑鼠

VIM常用技巧總結

urn 插件 jpg comm 添加 配置 做到 mrc incr VIM實用技巧總結 ????其實早就想整這篇總結了,一直沒有時間寫,鑒於李老板的強烈要求,今天更新上來。 ????vim作為linux環境下一個非常強大的工具,其實是非常實用了,尤其是對於代碼量龐大的項目來

python技巧總結set、日誌、rsa加密

value obj 字符 config fas bject union rom ase 一、日誌模塊logging模塊調用 1、日誌模塊使用原理 #!/usr/bin/python # -*- coding:utf-8 -*- import logging # 方式一

iOS開發Xcode常用除錯技巧總結

轉載http://www.cocoachina.com/ios/20161102/17884.html   本文為投稿文章,作者:楊社兵 最近在面試,面試過程中問到了一些Xcode常用的除錯技巧問題。平常開發過程中用的還挺順手的,但你要突然讓我說,確實一臉懵逼。Debug的技巧

Linux下常用命令sed學習總結

linux sed sed命令 正則表達式 sed總結 Sed功能說明:Sed是linux下一個強大的文本文件處理工具,通過對文件增加、刪除、查找、查詢操作,配合正則表達式以實現工作中的各種需求。同時也是一名運維人員必須掌握的核心技能。---------------------------