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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于Matlab编程的思考(待续)

發布時間:2023/12/13 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于Matlab编程的思考(待续) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Matlab編程的規范化思考

1.并行化

2.釋放內存

3.需要調參的變量太多,可考慮將變量都放到一個結構體里面。

4.find(y),就是要找到y中那些非零項的指引

5.代碼運行出現問題的時候,在命令行輸入why就可以得到答案

6.輸入bench可以給電腦跑分。

7.home 將光標移至命令窗口的左上角

8.查看matlab命令歷史記錄可找history.m,

prefdircd prefdir

%%%%%%%%%%%%%%%%%%%%%

%%%%方法2

history = com.mathworks.mlservices.MLCommandHistoryServices.getSessionHistory; historyText = char(history);

9,clear all 與 clear的區別

clear all,清除所有的變量,包括全局變量 global。

若是串行的程序,主函數main分別調用子函數 1,2,……,n,

那么任何一個子程序中都不要clear all,因為,主程序在調用子程序之前,應該有了變量定義和賦值,子程序一clear all,那些值就沒有了。

若只有一個main函數,分別要做幾個運算,一般應該互相獨立的,完成一個運算后,clear all;清除所有變量,然后進入下一個運算,變量名也可以重復使用,免得不小心用到前面定義過的變量出問題。

這就說明在定義子函數的時候,不要忘記使用clear all

clear,清除不了全局變量,只能清除普通變量。

10.rng default

恢復matlab啟動時默認的全局隨機流。在matlab啟動時,會用一個默認的隨機數生成器產生很多從0到1之間的偽隨機數,即全局隨機流,任何分布的隨機數組都是該全局隨機流中的數據。

11.關于雙圖標題

figure;
imshow(uint8([t1,t2]));
title([‘余弦值為:’,num2str(cos1),’ ‘,’余弦夾角為:’,num2str(v),’°’]);

12.一定要測試運行時間,便于優化代碼

13.如何刪除workspace中除某個變量之外的所有變量。

who %目前的變量 Your variables are: a b c K>> clear -regexp [^a]K>> who %目前的變量 Your variables are: a 第二種方法 clearvars -except a

14 添加當前文件夾及其子文件到路徑

currentfold = pwd; addpath(genpath(currentfold))

15 新建帶有時間標志的文件夾來儲存文件

savetime = fix(clock); savetimestr = num2str(savetime); savetimestr(isspace(savetimestr)) = []; %去除所有空格 selectedimagefullname = ['10foldHandCraft' savetimestr]; % 判斷是否存在文件夾 if exist(selectedimagefullname,'dir') == 0mkdir (selectedimagefullname) elsecd selectedimagefullnamedelete *cd .. end %儲存文件 save(['.\' selectedimagefullname '\train.mat'],'FTtrain'); save(['.\' selectedimagefullname '\test.mat'],'FTtest'); copyfile('Data*.mat',['.\' selectedimagefullname] ) delete Data*.mat

16.如何查看內存使用情況

feature('memstats')

17.matlab安裝新工具包

matlabroot % 進入matlab安裝根目錄 winopen(ans) % 打開matlab安裝根目錄 將mathmodl工具箱復制到toolbox中 addpath(genpath('Your_ToolBox_Full_Path'))%注意必須是文件夾路徑 savepath或者界面方式 pathtool 點擊添加目錄及子目錄為路徑,并保存重啟matlab 或者 rehash toolbox

18 mex

mex.getCompilerConfigurations('c','selected')查看mex編輯器選擇的語言

19內存預分配可提高matlab運行速度

未進行內存預分配y = 0; tic; for i=2:100000;y(i+1) = y(i)+ randn; end; toc時間已過 0.031222 秒。進行內存預分配y = zeros(100001,1); tic;for i=2:100000;y(i+1) = y(i)+ randn;end; toc時間已過 0.007672 秒。節約時間=(0.031222-0.007672 )/ 0.031222 =75%進行矩陣計算y = zeros(100001,1); tic; y= cumsum([0;y]); toc時間已過 0.000445秒。節約時間=(0.031222-0.000445 )/ 0.031222 =98.6%

20分析matlab程序的主要效率

在需要分析效率的程序段前后加入profile onprofile off然后,在common line中輸入profile viewer即可觀察到這段程序的效率

總結

以上是生活随笔為你收集整理的关于Matlab编程的思考(待续)的全部內容,希望文章能夠幫你解決所遇到的問題。

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