當前位置:首頁 » 編程軟體 » matlab編程函數

matlab編程函數

發布時間: 2022-06-19 23:29:11

『壹』 如何用matlab編寫函數程序

你給出的是C語言程序吧,matlab也是一樣的,只不過數組的編號是從1開始的,而且語法有些不同。
t(1)=0
s(1)=0
B(1)=0
for
n=2:160
x(n)=z600028;
t(n)=x(n).*2./13+t(n-1)*11/13
s(n)=x(n)*2/27+s(n-1)*25/27
A(n)=t(n)-s(n)
B(n)=A(n)*2/10+B(n-1)*8/10
end
增加:
此時你已經得到了A(n)與B(n),再加入下列語句,就可以畫出他們的圖像。
figure;
plot(A);
figure;
plot(B);

『貳』 用matlab如何編寫一個函數文件,實現 n!

用matlab如何編寫一個函數文件,實現n!的方法。

如下參考:

1.首先在計算機上打開matlab軟體,如下圖所示。

『叄』 matlab編程,求教如何編程,急求

用matlab求解常微分方程邊值問題,可以使用 bvp4c函數、deval函數與bvpinit函數配合解答。

具體使用方法如下:

solinit = bvpinit(xinit,uinit)

sol = bvp4c(@shootfun,@bcfun,solinit)

u= deval(sol,x)

其中:xinit——x的初始條件,uinit——u的初值;

shootfun——自定義常微分方程函數,bcfun——自定義邊界條件函數;

bvpinit——計算邊界值問題求解器的初始估計值

bvp4c——用四階方法求解邊界值問題

deval——計算微分方程解結構體

實現過程如下:

首先,自定義常微分方程函數shootfun(x,u),自定義邊界條件函數 bcfun(ua,ub)

其二,確定x范圍(0,1),初定u的初值(0,0)

其三,使用 bvpinit函數得到solinit粗略解網格結點,使用 bvp4c函數得到sol解的結構體,使用deval得到方程的數值解

然後,用plot函數分別繪出x-u(x)的關於數值解和解析解的圖形。

最後,計算出最大誤差,即max(u數值解-u解析解)

按上述過程編程,可以得到如下結果。

『肆』 matlab怎麼寫函數文件~

1、首先在電腦中打開matlab軟體。

『伍』 如何用matlab編寫函數文件

錯誤1 :引導詞function後要空格。如下:
function [r,theta]=rect2polar(x,y)
r=sqrt(x.^2+y.^2);
theta=180/pi*atan(y,x);

錯誤2:程序沒有循環,不需要end。

錯誤3:建立函數文件後保存到work文件夾後。不能直接點擊運行,而是要從鍵盤鍵入「輸入參數」x,y的值。

再鍵入 [r,theta]=rect2polar(x,y)運行。

『陸』 matlab函數介紹

背出來,Matlab就無敵了
一 matlab常用函數
1、 特殊變數與常數
ans 計算結果的變數名 computer 確定運行的計算機 eps 浮點相對精度 Inf 無窮大 I 虛數單位 inputname 輸入參數名 NaN 非數 nargin 輸入參數個數 nargout 輸出參數的數目 pi 圓周率 nargoutchk 有效的輸出參數數目 realmax 最大正浮點數 realmin 最小正浮點數 varargin 實際輸入 的參量 varargout 實際返回的參量 操作符與特殊字元 + 加 - 減 * 矩陣乘法 .* 數組乘(對應元素相乘) ^ 矩陣冪 .^ 數組冪(各個元素求冪) \ 左除或反斜杠 / 右除或斜面杠 ./ 數組除(對應元素除) kron Kronecker張量積 : 冒號 () 圓括 [] 方括 . 小數點 .. 父目錄 ... 繼續 , 逗號(分割多條命令) ; 分號(禁止結果顯示) % 注釋 ! 感嘆號 ' 轉置或引用 = 賦值 == 相等 <> 不等於 & 邏輯與 | 邏輯或 ~ 邏輯非 xor 邏輯異或

2、 基本數學函數
abs 絕對值和復數模長 acos,acodh 反餘弦,反雙曲餘弦 acot,acoth 反餘切,反雙曲餘切 acsc,acsch 反餘割,反雙曲餘割 angle 相角 asec,asech 反正割,反雙曲正割 secant 正切 asin,asinh 反正弦,反雙曲正弦 atan,atanh 反正切,雙曲正切 tangent 正切 atan2 四象限反正切 ceil 向著無窮大舍入 complex 建立一個復數 conj 復數配對 cos,cosh 餘弦,雙曲餘弦 csc,csch 餘切,雙曲餘切 cot,coth 餘切,雙曲餘切 exp 指數 fix 朝0方向取整 floor 朝負無窮取整 *** 最大公因數 imag 復數值的虛部 lcm 最小公倍數 log 自然對數 log2 以2為底的對數 log10 常用對數 mod 有符號的求余 nchoosek 二項式系數和全部組合數 real 復數的實部 rem 相除後求余 round 取整為最近的整數 sec,sech 正割,雙曲正割 sign 符號數 sin,sinh 正弦,雙曲正弦 sqrt 平方根 tan,tanh 正切,雙曲正切

3、 基本矩陣和矩陣操作
blkding 從輸入參量建立塊對角矩陣 eye 單位矩陣 linespace 產生線性間隔的向量 logspace 產生對數間隔的向量 numel 元素個數 ones 產生全為1的數組 rand 均勻頒隨機數和數組 randn 正態分布隨機數和數組 zeros 建立一個全0矩陣 colon) 等間隔向量 cat 連接數組 diag 對角矩陣和矩陣對角線 fliplr 從左自右翻轉矩陣 flipud 從上到下翻轉矩陣 repmat 復制一個數組 reshape 改造矩陣 roy90 矩陣翻轉90度 tril 矩陣的下三角 triu 矩陣的上三角 dot 向量點集 cross 向量叉集 ismember 檢測一個集合的元素 intersect 向量的交集 setxor 向量異或集 setdiff 向是的差集 union 向量的並集 數值分析和傅立葉變換 cumprod 累積 cumsum 累加 cumtrapz 累計梯形法計算數值微分 factor 質因子 inpolygon 刪除多邊形區域內的點 max 最大值 mean 數組的均值 mediam 中值 min 最小值 perms 所有可能的轉換 polyarea 多邊形區域 primes 生成質數列表 prod 數組元素的乘積 rectint 矩形交集區域 sort 按升序排列矩陣元素 sortrows 按升序排列行 std 標准偏差 sum 求和 trapz 梯形數值積分 var 方差 del2 離散拉普拉斯 diff 差值和微分估計 gradient 數值梯度 cov 協方差矩陣 corrcoef 相關系數 conv2 二維卷積 conv 卷積和多項式乘法 filter IIR或FIR濾波器 deconv 反卷積和多項式除法 filter2 二維數字濾波器 cplxpair 將復數值分類為共軛對 fft 一維的快速傅立葉變換 fft2 二維快速傅立葉變換 fftshift 將FFT的DC分量移到頻譜中心 ifft 一維快速反傅立葉變換 ifft2 二維傅立葉反變換 ifftn 多維快速傅立葉變換 ifftshift 反FFT偏移 nextpow2 最靠近的2的冪次 unwrap 校正相位角 多項式與插值 conv 卷積和多項式乘法 roots 多項式的根 poly 具有設定根的多項式 polyder 多項式微分 polyeig 多項式的特徵根 polyfit 多項式擬合 polyint 解析多項式積分 polyval 多項式求值 polyvalm 矩陣變數多項式求值 resie 部分分式展開 interp1 一維插值 interp2 二維插值 interp3 三維插值 interpft 使用FFT的一維插值 interpn 多維插值 meshgrid 為3維點生成x和y的網格 ndgrid 生成多維函數和插值的數組 pchip 分段3次Hermite插值多項式 ppval 分段多項式的值 spline 3次樣條數據插值 繪圖函數 bar 豎直條圖 barh 水平條圖 hist 直方圖 histc 直方圖計數 hold 保持當前圖形 loglog x,y對數坐標圖 pie 餅狀圖 plot 繪二維圖 polar 極坐標圖 semilogy y軸對數坐標圖 semilogx x軸對數坐標 subplot 繪制子圖 bar3 數值3D豎條圖 bar3h 水平3D條形圖 comet3 3D慧星圖 cylinder 圓柱體 fill3 填充的3D多邊形 plot3 3維空間繪圖 quiver3 3D震動(速度)圖 slice 體積薄片圖 sphere 球 stem3 繪制離散表面數據 wate***ll 繪制瀑布 trisurf 三角表面 clabel 增加輪廓標簽到等高線圖中 datetick 數據格式標記 grid 加網格線 gtext 用滑鼠將文本放在2D圖中 legend 圖注 plotyy 左右邊都繪Y軸 title 標題 xlabel X軸標簽 ylabel Y軸標簽 zlabel Z軸標簽 contour 等高線圖 contourc 等高線計算 contourf 填充的等高線圖 hidden 網格線消影 meshc 連接網格/等高線 mesh 具有參考軸的3D網格 peaks 具有兩個變數的采樣函數 surf 3D陰影表面圖 su***ce 建立表面低層對象 surfc 海浪和等高線的結合 surfl 具有光照的3D陰影表面 trimesh 三角網格圖

二 Matlab常用指令

1、通用信息查詢(General information)
demo 演示程序 help 在線幫助指令 helpbrowser 超文本文檔幫助信息 helpdesk 超文本文檔幫助信息 helpwin 打開在線幫助窗 info MATLAB 和MathWorks 公司的信息 subscribe MATLAB 用戶注冊 ver MATLAB 和TOOLBOX 的版本信息 version MATLAB 版本 whatsnew 顯示版本新特徵
2、工作空間管理(Managing the workspace)
clear 從內存中清除變數和函數 exit 關閉MATLAB load 從磁碟中調入數據變數 pack 合並工作內存中的碎塊 quit 退出MATLAB save 把內存變數存入磁碟 who 列出工作內存中的變數名 whos 列出工作內存中的變數細節 workspace 工作內存瀏覽器
3 、管理指令和函數(Managing commands and functions)
edit 矩陣編輯器 edit 打開M 文件 inmem 查看內存中的P 碼文件 mex 創建MEX 文件 open 打開文件 pcode 生成P 碼文件 type 顯示文件內容 what 列出當前目錄上的M、MAT、MEX 文件 which 確定指定函數和文件的位置
4 、搜索路徑的管理(Managing the seach patli)
addpath 添加搜索路徑 rmpath 從搜索路徑中刪除目錄 path 控制MATLAB 的搜索路徑 pathtool 修改搜索路徑
5、指令窗控制(Controlling the command window)
beep 產生beep 聲 echo 顯示命令文件指令的切換開關 diary 儲存MATLAB 指令窗操作內容 format 設置數據輸出格式 more 命令窗口分頁輸出的控制開關
6、操作系統指令(Operating system commands)
cd 改變當前工作目錄 computer 計算機類型 file 文件拷貝 delete 刪除文件 dir 列出的文件 dos 執行dos 指令並返還結果 getenv 給出環境值 ispc MATLAB 為PC(Windows)版本則為真 isunix MATLAB 為Unix 版本則為真 mkdir 創建目錄 pwd 改變當前工作目錄 unix 執行unix 指令並返還結果 vms 執行vms dcl 指令並返還結果 web 打開web 瀏覽器 ! 執行外部應用程序

三 Matlab運算符和特殊算符
1、算術運算符(Arithmetic operators)
+ 加 - 減 * 矩陣乘 .* 數組乘 ^ 矩陣乘方 .^ 數組乘方 \ 反斜杠或左除 / 斜杠或右除 ./或.\ 數組除 張量積 [注]本表第三欄括弧中的字元供在線救助時help 指令引述用
2、關系運算符(Relational operators)
= = 等號 ~= 不等號 < 小於 > 大於 <= 小於或等於 >= 大於或等於
3、邏輯操作(Logical operators)
& 邏輯與 | 邏輯或 ~ 邏輯非 xor 異或 any 有非零元則為真 all 所有元素均非零則為真
4、特殊算符(Special characters)
: 冒號 ( ) 圓括弧 [ ] 方括弧 { } 花括弧 @ 創建函數句柄 . 小數點 . 構架域的關節點 .. 父目錄 ? 續行號 , 逗號 ; 分號 % 注釋號 ! 調用操作系統命令 = 賦值符號 ˊ 引號 ˊ 復數轉置號 .ˊ 轉置號 [,] 水平串接 [;] 垂直串接 ( ),{ },. 下標賦值 ( ),{ },. 下標標識 subsindex 下標標識

四 Matlab編程語言結構
控制語句(Control flow)
break 終止最內循環 case 同switch 一起使用 catch 同try 一起使用 continue 將控制轉交給外層的for 或while 循環 else 同if 一起使用 elseif 同if 一起使用 end 結束for,while,if 語句 for 按規定次數重復執行語句 if 條件執行語句 otherwise 可同switch 一起使用 return 返回 switch 多個條件分支 try try-cathch 結構 while 不確定次數重復執行語句
2、 計算運行(Evaluation and execution)
assignin 跨空間賦值 builtin 執行內建的函數 eval 字元串宏指令 evalc 執行MATLAB 字元串 evalin 跨空間計算串表達式的值 feval 函數宏指令 run 執行腳本文件
3、 腳本文件、函數及變數(Scripts,function,and variables)
exist 檢查變數或函數是否被定義 function 函數文件頭 global 定義全局變數 isglobal 若是全局變數則為真 iskeyword 若是關鍵字則為真 mfilename 正在執行的M 文件的名字 persistent 定義永久變數 script MATLAB 命令文件
4、宗量處理(Augument handling)
inputname 實際調用變數名 nargchk 輸入變數個數檢查 nargin 函數輸入宗量的個數 nargout 函數輸出宗量的個數 nargoutchk 輸出變數個數檢查 varagin 輸入宗量 varagout 輸出宗量
5、 信息顯示(Message display)
disp 顯示矩陣和文字內容 display 顯示矩陣和文字內容的重載函數 error 顯示錯誤信息 fprintf 把格式化數據寫到文件或屏幕 lasterr 最後一個錯誤信息 lastwarn 最後一個警告信息 sprintf 按格式把數字轉換為串 warning 顯示警告信息
6 、互動式輸入(Interactive input) i
nput 提示鍵盤輸入 keyboard 激活鍵盤做為命令文件 pause 暫停 uicontrol 創建用戶界面控制 uimenu 創建用戶界面菜單

五 Matlab基本矩陣函數和操作

1、 基本矩陣(Elementary matrices)
eye 單位陣 linspace 線性等分向量 logspace 對數等分向量 meshgrid 用於三維曲面的分格線坐標 ones 全1 矩陣 rand 均勻分布隨機陣 randn 正態分布隨機陣 repmat 鋪放模塊數組 zeros 全零矩陣 : 矩陣的援引和重排
2、 矩陣基本信息(Basic array information)
disp 顯示矩陣和文字內容 isempty 若是空矩陣則為真 isequal 若對應元素相等則為1 islogical 尤其是邏輯數則為真 isnumeric 若是數值則為真 length 確定向量的長度 logical 將數值轉化為邏輯值 ndims 數組A 的維數 size 確定矩陣的維數
3、 矩陣操作(Matrix manipulateion)
blkdiag 塊對角陣串接 diag 創建對角陣,抽取對角向量 end 數組的長度,即最大下標 find 找出非零元素1 的下標 fliplr 矩陣的左右翻轉 flipud 矩陣的上下翻轉 flipdim 交換對稱位置上的元素 ind2sub 據單下標換算出全下標 reshape 矩陣變維 rot90 矩陣逆時針90°旋轉 sub2idn 據全下標換算出單下標 tril 抽取下三角陣 triu 抽取上三角陣
4、特殊變數和常數(Special variables and constants)
ans 最新表達式的運算結果 eps 浮點相對誤差 i,j 虛數單位 inf 或Inf 無窮大 isfinite 若是有限數則為真 isinf 若是無窮大則為真 isnan 若為非數則為真 NaN 或nan 非數 pi 3.1415926535897?. realmax 最大浮點數 realmin 最小正浮點數 why 一般問題的簡明答案
5、特殊矩陣(Specialized matrices)
compan 伴隨矩陣 gallery 一些小測試矩陣 hadamard Hadamard 矩陣 hankel Hankel 矩陣 hilb Hilbert 矩陣 invhilb 逆Hilbert 矩陣 magic 魔方陣 pascal Pascal 矩陣 rosser 典型對稱特徵值實驗問題 toeplitz Toeplitz 矩陣 vander Vandermonde 矩陣 wilkinson Wilkinson's 對稱特徵值實驗矩陣

六 Matlab基本數學函數
1、 三角函數(Trigonometric)
acos 反餘弦 acosh 反雙曲餘弦 acot 反餘切 acoth 反雙曲餘切 acsc 反餘割 acsch 反雙曲餘割 asec 反正割 asech 反雙曲正割 asin 反正弦 asinh 反雙曲正弦 atan 反正切 atanh 反雙曲正切 atan2 四象限反正切 cos 餘弦 cosh 雙曲餘弦 cot 餘切 coth 雙曲餘切 csc 餘割 csch 雙曲餘割 sec 正割 sech 雙曲正割 sin 正弦 sinh 雙曲正弦 tan 正切 tanh 雙曲正切
2、 指數函數(Exponential)
exp 指數 log 自然對數 log10 常用對數 log2 以2 為底的對數 nestpow2 最近鄰的2 的冪 pow2 2 的冪 sqrt 平方根
3、 復數函數(Complex)
abs 絕對值 angle 相角 complex 將實部和虛部構成復數 conj 復數共軛 cplxpair 復數陣成共軛對形式排列 imag 復數虛部 isreal 若是實數矩陣則為真 real 復數實部 unwrap 相位角360°線調整
4、圓整和求余函數(Rounding and remainder)
ceil 朝正無窮大方向取整 fix 朝零方向取整 floor 朝負無窮大方向取整 mod 模數求余 rem 求余數 round 四捨五入取整 sign 符號函數 6 特殊函數(Specialized math functions) cart2pol 直角坐標變為柱(或極)坐標 cart2sph 直角坐標變為球坐標 cross 向量叉積 dot 向量內積 isprime 若是質數則為真 pol2cart 柱(或極)坐標變為直角坐標 sph2cart 球坐標變為直角坐標

七 Matlab矩陣函數和數值線性代數

1、 矩陣分析(Matrix analysis)
det 行列式的值 norm 矩陣或向量范數 normest 估計2 范數 null 零空間 orth 值空間 rank 秩 rref 轉換為行階梯形 trace 跡 subspace 子空間的角度
2、 線性方程(Linear equations)
chol Cholesky 分解 cholinc 不完全Cholesky 分解 cond 矩陣條件數 condest 估計1-范數條件數 inv 矩陣的逆 lu LU 分解 luinc 不完全LU 分解 lscov 已知協方差的最小二乘積 nnls 非負二乘解 pinv 偽逆 qr QR 分解 rcond LINPACK 逆條件數 \、/ 解線性方程
3、 特性值與奇異值(Eigenvalues and singular values)
condeig 矩陣各特徵值的條件數 eig 矩陣特徵值和特徵向量 eigs 多個特徵值 gsvd 歸一化奇異值分解 hess Hessenberg 矩陣 poly 特徵多項式 polyeig 多項式特徵值問題 qz 廣義特徵值 schur Schur 分解 svd 奇異值分解 svds 多個奇異值
4、 矩陣函數(Matrix functions)
expm 矩陣指數 expm1 矩陣指數的Pade 逼近 expm2 用泰勒級數求矩陣指數 expm3 通過特徵值和特徵向量求矩陣指數 funm 計算一般矩陣函數 logm 矩陣對數 sqrtm 矩陣平方根
5、 因式分解(Factorization utility)
cdf2rdf 復數對角型轉換到實塊對角型 balance 改善特徵值精度的平衡刻度 rsf2csf 實塊對角型轉換到復數對角型

八 數據分析和傅里葉變換
1、 基本運算(Basic operations)
cumprod 元素累計積 cumsum 元素累計和 cumtrapz 累計積分 hist 統計頻數直方圖 histc 直方圖統計 max 最大值 mean 平均值 median 中值 min 最小值 prod 元素積 sort 由小到大排序 sortrows 由小到大按行排序 std 標准差 sum 元素和 trapz 梯形數值積分 var 求方差
2、 有限差分(Finite differentces)
del2 五點離散Laplacian diff 差分和近似微分 gradient 梯度

3、 相關(Correlation)
corrcoef 相關系數 cov 協方差矩陣 subspace 子空間之間的角度
4、 濾波和卷積(Filtering and convoluteion)
conv 卷積和多項式相乘 conv2 二維卷積 convn N 維卷積 detrend 去除線性分量 deconv 解卷和多項式相除 filter 一維數字濾波器 fliter2 二維數字濾波器
5、 傅里葉變換(Fourier transforms)
fft 快速離散傅里葉變換 fft2 二維離散傅里葉變換 fftn N 維離散傅里葉變換 fftshift 重排fft 和fft2 的輸出 ifft 離散傅里葉反變換 ifft2 二維離散傅城葉反變換 ifftn N 維離散傅里葉反變換 ifftshift 反fftshift

『柒』 matlab中怎麼定義一個函數

方法:

1、函數文件+調用函數文件:定義多個M文件;

%調用函數文件:myfile.m

clear

clc

for t=1:10

y=mylfg(t);

fprintf(『M^(1/3)=%6.4f 』,t,y);

end

%自定義函數文件: mylfg.m

function y=mylfg(x) %注意:函數名(mylfg)必須與文件名(mylfg.m)一致

Y=x^(1/3);

註:這種方法要求自定義函數必須單獨寫一個M文件,不能與調用的命令文件寫在同一個M文件中。

2、函數文件+子函數:定義一個具有多個子函數的M文件

%命令文件:funtry2.m

function []=funtry2()

for t=1:10

y=lfg2(t)

fprintf(『M^(1/3)=%6.4f 』);

End

function y=lfg2(x)

Y= x^(1/3);

%註:自定義函數文件funtry2.m中可以定義多個子函數function。子函數lfg2隻能被主函數和主函數中的其他子函數調用。

3、Inline:無需M文件,直接定義;

%inline命令用來定義一個內聯函數:f=inline(『函數表達式』, 『變數1』,』變數2』,……)。

調用方式:y=f(數值列表) %

注意:代入的數值列表順序應與inline()定義的變數名順序一致。

『捌』 matlab怎樣編寫函數並調用函數

1'編寫一個m文件,如:

function f=add(a,b)

f=a+b;

end

保存為add.m,比如保存在桌面

2'將桌面添加到matlab搜索路徑中

『玖』 使用matlab編寫函數,

%%
當x<=2,f(x)=0.5x/;2<x<=6,f(x)=1.5-0.25x;x>6,f(x)=0.5;
%
並調用此函數,繪制在x=[0,2]范圍的f(x)*f(x+2)曲線。
%
根據題意,編寫如下函數並保存為funcfx.m
function
fx
=
funcfx(x)
n=length(x);
fx=[];
for
i=1:n

if
x(i)
<=
2

fx(i)
=
0.5
.*
x(i);

elseif
(x(i)
>
2)
&
(x(i)
<=
6)

fx(i)
=
1.5
-
0.25
.*
x(i);

elseif
x(i)>6

fx(i)
=
0.5;

end
end

保存函數後調用,代碼如下:
x=-6:20;
fx=funcfx(x);
plot(x,fx,'r*')

熱點內容
緩存視頻合並工具最新版 發布:2025-05-16 09:35:03 瀏覽:193
花雨庭伺服器ip地址和埠 發布:2025-05-16 09:34:58 瀏覽:238
同時修改多台伺服器管理地址工具 發布:2025-05-16 09:20:36 瀏覽:421
什麼配置就能玩地平線 發布:2025-05-16 09:13:46 瀏覽:82
python旋轉圖片 發布:2025-05-16 09:13:40 瀏覽:638
少女前線防檢測腳本 發布:2025-05-16 08:59:07 瀏覽:728
編譯器對系統的依賴 發布:2025-05-16 08:37:29 瀏覽:711
javamap數組 發布:2025-05-16 08:37:28 瀏覽:451
移動光貓如何自行修改密碼 發布:2025-05-16 08:20:15 瀏覽:125
作為基線存儲 發布:2025-05-16 08:15:22 瀏覽:859